@contember/react-client 1.1.0-alpha.9 → 1.1.0-beta.2

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 (165) hide show
  1. package/dist/development/ClientError.js +3 -1
  2. package/dist/development/ClientError.js.map +1 -1
  3. package/dist/development/ContemberClient.js +49 -15
  4. package/dist/development/ContemberClient.js.map +1 -1
  5. package/dist/development/apiRequest/apiRequestReducer.js +3 -1
  6. package/dist/development/apiRequest/apiRequestReducer.js.map +1 -1
  7. package/dist/development/apiRequest/useApiRequest.js +33 -25
  8. package/dist/development/apiRequest/useApiRequest.js.map +1 -1
  9. package/dist/development/auth/SessionTokenContext.js +3 -1
  10. package/dist/development/auth/SessionTokenContext.js.map +1 -1
  11. package/dist/development/auth/SetSessionTokenContext.js +3 -1
  12. package/dist/development/auth/SetSessionTokenContext.js.map +1 -1
  13. package/dist/development/auth/useSessionToken.js +3 -1
  14. package/dist/development/auth/useSessionToken.js.map +1 -1
  15. package/dist/development/auth/useSetSessionToken.js +3 -1
  16. package/dist/development/auth/useSetSessionToken.js.map +1 -1
  17. package/dist/development/components/RichTextRenderer/ElementRenderer.js +18 -5
  18. package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +1 -1
  19. package/dist/development/components/RichTextRenderer/LeafRenderer.js +11 -3
  20. package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +1 -1
  21. package/dist/development/components/RichTextRenderer/RenderElementFallback.js +148 -50
  22. package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
  23. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +65 -13
  24. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
  25. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js +4 -1
  26. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +1 -1
  27. package/dist/development/components/RichTextRenderer/RichTextRenderer.js +44 -32
  28. package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
  29. package/dist/development/components/RichTextRenderer/RichTextRendererError.js +3 -1
  30. package/dist/development/components/RichTextRenderer/RichTextRendererError.js.map +1 -1
  31. package/dist/development/components/RichTextRenderer/defaultDeserialize.js +3 -1
  32. package/dist/development/components/RichTextRenderer/defaultDeserialize.js.map +1 -1
  33. package/dist/development/components/RichTextRenderer/renderChildren.js +31 -19
  34. package/dist/development/components/RichTextRenderer/renderChildren.js.map +1 -1
  35. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js +6 -2
  36. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
  37. package/dist/development/config/ApiBaseUrlContext.js +3 -1
  38. package/dist/development/config/ApiBaseUrlContext.js.map +1 -1
  39. package/dist/development/config/LoginTokenContext.js +3 -1
  40. package/dist/development/config/LoginTokenContext.js.map +1 -1
  41. package/dist/development/config/useApiBaseUrl.js +3 -1
  42. package/dist/development/config/useApiBaseUrl.js.map +1 -1
  43. package/dist/development/config/useLoginToken.js +3 -1
  44. package/dist/development/config/useLoginToken.js.map +1 -1
  45. package/dist/development/content/useContentApiRequest.js +3 -1
  46. package/dist/development/content/useContentApiRequest.js.map +1 -1
  47. package/dist/development/content/useContentGraphQlClient.js +3 -1
  48. package/dist/development/content/useContentGraphQlClient.js.map +1 -1
  49. package/dist/development/content/useCurrentContentGraphQlClient.js +3 -1
  50. package/dist/development/content/useCurrentContentGraphQlClient.js.map +1 -1
  51. package/dist/development/index.js +58 -28
  52. package/dist/development/project/ProjectSlugContext.js +3 -1
  53. package/dist/development/project/ProjectSlugContext.js.map +1 -1
  54. package/dist/development/project/StageSlugContext.js +3 -1
  55. package/dist/development/project/StageSlugContext.js.map +1 -1
  56. package/dist/development/project/useProjectSlug.js +3 -1
  57. package/dist/development/project/useProjectSlug.js.map +1 -1
  58. package/dist/development/project/useStageSlug.js +3 -1
  59. package/dist/development/project/useStageSlug.js.map +1 -1
  60. package/dist/development/system/useCurrentSystemGraphQlClient.js +3 -1
  61. package/dist/development/system/useCurrentSystemGraphQlClient.js.map +1 -1
  62. package/dist/development/system/useSystemApiRequest.js +3 -1
  63. package/dist/development/system/useSystemApiRequest.js.map +1 -1
  64. package/dist/development/system/useSystemGraphQlClient.js +3 -1
  65. package/dist/development/system/useSystemGraphQlClient.js.map +1 -1
  66. package/dist/development/tenant/useTenantApiRequest.js +3 -1
  67. package/dist/development/tenant/useTenantApiRequest.js.map +1 -1
  68. package/dist/development/tenant/useTenantGraphQlClient.js +3 -1
  69. package/dist/development/tenant/useTenantGraphQlClient.js.map +1 -1
  70. package/dist/development/upload/fileUploadReducer.js +4 -1
  71. package/dist/development/upload/fileUploadReducer.js.map +1 -1
  72. package/dist/development/upload/toFileId.js +3 -1
  73. package/dist/development/upload/toFileId.js.map +1 -1
  74. package/dist/development/upload/useFileUpload.js +131 -115
  75. package/dist/development/upload/useFileUpload.js.map +1 -1
  76. package/dist/development/useGraphQlClient.js +3 -1
  77. package/dist/development/useGraphQlClient.js.map +1 -1
  78. package/dist/development/utils/assertNever.js +3 -1
  79. package/dist/development/utils/assertNever.js.map +1 -1
  80. package/dist/production/ClientError.js +3 -1
  81. package/dist/production/ClientError.js.map +1 -1
  82. package/dist/production/ContemberClient.js +24 -15
  83. package/dist/production/ContemberClient.js.map +1 -1
  84. package/dist/production/apiRequest/apiRequestReducer.js +3 -1
  85. package/dist/production/apiRequest/apiRequestReducer.js.map +1 -1
  86. package/dist/production/apiRequest/useApiRequest.js +33 -25
  87. package/dist/production/apiRequest/useApiRequest.js.map +1 -1
  88. package/dist/production/auth/SessionTokenContext.js +3 -1
  89. package/dist/production/auth/SessionTokenContext.js.map +1 -1
  90. package/dist/production/auth/SetSessionTokenContext.js +3 -1
  91. package/dist/production/auth/SetSessionTokenContext.js.map +1 -1
  92. package/dist/production/auth/useSessionToken.js +3 -1
  93. package/dist/production/auth/useSessionToken.js.map +1 -1
  94. package/dist/production/auth/useSetSessionToken.js +3 -1
  95. package/dist/production/auth/useSetSessionToken.js.map +1 -1
  96. package/dist/production/components/RichTextRenderer/ElementRenderer.js +13 -5
  97. package/dist/production/components/RichTextRenderer/ElementRenderer.js.map +1 -1
  98. package/dist/production/components/RichTextRenderer/LeafRenderer.js +5 -2
  99. package/dist/production/components/RichTextRenderer/LeafRenderer.js.map +1 -1
  100. package/dist/production/components/RichTextRenderer/RenderElementFallback.js +81 -48
  101. package/dist/production/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
  102. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js +32 -13
  103. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
  104. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js +4 -1
  105. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +1 -1
  106. package/dist/production/components/RichTextRenderer/RichTextRenderer.js +39 -32
  107. package/dist/production/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
  108. package/dist/production/components/RichTextRenderer/RichTextRendererError.js +3 -1
  109. package/dist/production/components/RichTextRenderer/RichTextRendererError.js.map +1 -1
  110. package/dist/production/components/RichTextRenderer/defaultDeserialize.js +3 -1
  111. package/dist/production/components/RichTextRenderer/defaultDeserialize.js.map +1 -1
  112. package/dist/production/components/RichTextRenderer/renderChildren.js +22 -19
  113. package/dist/production/components/RichTextRenderer/renderChildren.js.map +1 -1
  114. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js +6 -2
  115. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
  116. package/dist/production/config/ApiBaseUrlContext.js +3 -1
  117. package/dist/production/config/ApiBaseUrlContext.js.map +1 -1
  118. package/dist/production/config/LoginTokenContext.js +3 -1
  119. package/dist/production/config/LoginTokenContext.js.map +1 -1
  120. package/dist/production/config/useApiBaseUrl.js +3 -1
  121. package/dist/production/config/useApiBaseUrl.js.map +1 -1
  122. package/dist/production/config/useLoginToken.js +3 -1
  123. package/dist/production/config/useLoginToken.js.map +1 -1
  124. package/dist/production/content/useContentApiRequest.js +3 -1
  125. package/dist/production/content/useContentApiRequest.js.map +1 -1
  126. package/dist/production/content/useContentGraphQlClient.js +3 -1
  127. package/dist/production/content/useContentGraphQlClient.js.map +1 -1
  128. package/dist/production/content/useCurrentContentGraphQlClient.js +3 -1
  129. package/dist/production/content/useCurrentContentGraphQlClient.js.map +1 -1
  130. package/dist/production/index.js +58 -28
  131. package/dist/production/project/ProjectSlugContext.js +3 -1
  132. package/dist/production/project/ProjectSlugContext.js.map +1 -1
  133. package/dist/production/project/StageSlugContext.js +3 -1
  134. package/dist/production/project/StageSlugContext.js.map +1 -1
  135. package/dist/production/project/useProjectSlug.js +3 -1
  136. package/dist/production/project/useProjectSlug.js.map +1 -1
  137. package/dist/production/project/useStageSlug.js +3 -1
  138. package/dist/production/project/useStageSlug.js.map +1 -1
  139. package/dist/production/system/useCurrentSystemGraphQlClient.js +3 -1
  140. package/dist/production/system/useCurrentSystemGraphQlClient.js.map +1 -1
  141. package/dist/production/system/useSystemApiRequest.js +3 -1
  142. package/dist/production/system/useSystemApiRequest.js.map +1 -1
  143. package/dist/production/system/useSystemGraphQlClient.js +3 -1
  144. package/dist/production/system/useSystemGraphQlClient.js.map +1 -1
  145. package/dist/production/tenant/useTenantApiRequest.js +3 -1
  146. package/dist/production/tenant/useTenantApiRequest.js.map +1 -1
  147. package/dist/production/tenant/useTenantGraphQlClient.js +3 -1
  148. package/dist/production/tenant/useTenantGraphQlClient.js.map +1 -1
  149. package/dist/production/upload/fileUploadReducer.js +4 -1
  150. package/dist/production/upload/fileUploadReducer.js.map +1 -1
  151. package/dist/production/upload/toFileId.js +3 -1
  152. package/dist/production/upload/toFileId.js.map +1 -1
  153. package/dist/production/upload/useFileUpload.js +131 -115
  154. package/dist/production/upload/useFileUpload.js.map +1 -1
  155. package/dist/production/useGraphQlClient.js +3 -1
  156. package/dist/production/useGraphQlClient.js.map +1 -1
  157. package/dist/production/utils/assertNever.js +3 -1
  158. package/dist/production/utils/assertNever.js.map +1 -1
  159. package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts +2 -1
  160. package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts.map +1 -1
  161. package/dist/types/tsconfig.tsbuildinfo +1 -1
  162. package/dist/types/upload/useFileUpload.d.ts +1 -1
  163. package/dist/types/upload/useFileUpload.d.ts.map +1 -1
  164. package/package.json +3 -3
  165. package/src/components/RichTextRenderer/RichTextRenderer.tsx +1 -1
@@ -3,13 +3,19 @@ import { renderChildren } from "./renderChildren.js";
3
3
  import { RenderElementFallback } from "./RenderElementFallback.js";
4
4
  import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
5
5
  import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
6
- function ElementRenderer({ element, children, options }) {
6
+ import { jsx } from "react/jsx-runtime";
7
+ function ElementRenderer({
8
+ element,
9
+ children,
10
+ options
11
+ }) {
7
12
  const metadata = useRichTextRenderMetadata();
8
13
  const elementMetadata = resolveRichTextElementMetadata(element, metadata);
9
- const fallback = /* @__PURE__ */ createElement(RenderElementFallback, {
14
+ const fallback = /* @__PURE__ */ jsx(RenderElementFallback, {
10
15
  element,
11
- options
12
- }, children);
16
+ options,
17
+ children
18
+ });
13
19
  return options.renderElement ? createElement(options.renderElement, {
14
20
  ...elementMetadata,
15
21
  element,
@@ -19,5 +25,7 @@ function ElementRenderer({ element, children, options }) {
19
25
  renderChildrenOptions: options
20
26
  }) : fallback;
21
27
  }
22
- export { ElementRenderer };
28
+ export {
29
+ ElementRenderer
30
+ };
23
31
  //# sourceMappingURL=ElementRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementRenderer.js","sources":["../../../../src/components/RichTextRenderer/ElementRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport type { RenderChildrenOptions } from './renderChildren'\nimport { renderChildren } from './renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderElement<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n> = ComponentType<\n\t{\n\t\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\t\tchildren: ReactElement\n\n\t\tfallback: ReactElement\n\n\t\trenderChildren: (\n\t\t\tchildren:\n\t\t\t\t| CustomElements\n\t\t\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t\t\t| CustomLeaves\n\t\t\t\t| BuiltinLeaves\n\t\t\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\t\t\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n\t\t) => ReactElement\n\t\trenderChildrenOptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n\t} & RichTextElementMetadata<CustomElements, CustomLeaves, Reference>\n>\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tconst fallback = (\n\t\t<RenderElementFallback element={element as BuiltinElements} options={options}>\n\t\t\t{children}\n\t\t</RenderElementFallback>\n\t)\n\n\treturn options.renderElement\n\t\t? createElement(options.renderElement, {\n\t\t\t\t...elementMetadata,\n\t\t\t\telement,\n\t\t\t\tfallback,\n\t\t\t\tchildren,\n\t\t\t\trenderChildren,\n\t\t\t\trenderChildrenOptions: options,\n\t\t })\n\t\t: fallback\n}\n"],"names":["_jsx"],"mappings":";;;;;AAkDE,yBAAA,EAAE,SAAS,UAAU,WAA+D;AACrF,QAAM,WAAW;AACX,QAAA,kBAAkB,+BAA6D,SAAS,QAAQ;AAEtG,QAAM,WACJA,8BAAA,uBAAA;AAAA,IAAsB;AAAA,IAAqC;AAAA,EAAA,GAC1D,QACF;AAGD,SAAO,QAAQ,gBACZ,cAAc,QAAQ,eAAe;AAAA,OAClC;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB;AAAA,EACtB,CAAA,IACD;AACJ;;"}
1
+ {"version":3,"file":"ElementRenderer.js","sources":["../../../../src/components/RichTextRenderer/ElementRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport type { RenderChildrenOptions } from './renderChildren'\nimport { renderChildren } from './renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderElement<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n> = ComponentType<\n\t{\n\t\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\t\tchildren: ReactElement\n\n\t\tfallback: ReactElement\n\n\t\trenderChildren: (\n\t\t\tchildren:\n\t\t\t\t| CustomElements\n\t\t\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t\t\t| CustomLeaves\n\t\t\t\t| BuiltinLeaves\n\t\t\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\t\t\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n\t\t) => ReactElement\n\t\trenderChildrenOptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n\t} & RichTextElementMetadata<CustomElements, CustomLeaves, Reference>\n>\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tconst fallback = (\n\t\t<RenderElementFallback element={element as BuiltinElements} options={options}>\n\t\t\t{children}\n\t\t</RenderElementFallback>\n\t)\n\n\treturn options.renderElement\n\t\t? createElement(options.renderElement, {\n\t\t\t\t...elementMetadata,\n\t\t\t\telement,\n\t\t\t\tfallback,\n\t\t\t\tchildren,\n\t\t\t\trenderChildren,\n\t\t\t\trenderChildrenOptions: options,\n\t\t })\n\t\t: fallback\n}\n"],"names":["ElementRenderer","element","children","options","metadata","useRichTextRenderMetadata","elementMetadata","resolveRichTextElementMetadata","fallback","renderElement","createElement","renderChildren","renderChildrenOptions"],"mappings":";;;;;;AA+CO,SAASA,gBAGd;AAAA,EAAEC;AAAAA,EAASC;AAAAA,EAAUC;AAA4D,GAAG;AACrF,QAAMC,WAAWC;AACXC,QAAAA,kBAAkBC,+BAA6DN,SAASG,QAAQ;AAEhGI,QAAAA,+BACJ,uBAAqB;AAAA,IAAC;AAAA,IAAqC;AAAA,IAAiB;AAAA,EAAA,CAG7E;AAED,SAAOL,QAAQM,gBACZC,cAAcP,QAAQM,eAAe;AAAA,IACrC,GAAGH;AAAAA,IACHL;AAAAA,IACAO;AAAAA,IACAN;AAAAA,IACAS;AAAAA,IACAC,uBAAuBT;AAAAA,EACtB,CAAA,IACDK;AACJ;"}
@@ -1,12 +1,13 @@
1
1
  import { createElement } from "react";
2
2
  import { RenderLeafFallback } from "./RenderLeafFallback.js";
3
3
  import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
4
+ import { jsx } from "react/jsx-runtime";
4
5
  function LeafRenderer({
5
6
  leaf,
6
7
  renderLeaf
7
8
  }) {
8
9
  const formatVersion = useRichTextRenderMetadata().formatVersion;
9
- const fallback = /* @__PURE__ */ createElement(RenderLeafFallback, {
10
+ const fallback = /* @__PURE__ */ jsx(RenderLeafFallback, {
10
11
  leaf
11
12
  });
12
13
  return renderLeaf ? createElement(renderLeaf, {
@@ -15,5 +16,7 @@ function LeafRenderer({
15
16
  fallback
16
17
  }, leaf.text) : fallback;
17
18
  }
18
- export { LeafRenderer };
19
+ export {
20
+ LeafRenderer
21
+ };
19
22
  //# sourceMappingURL=LeafRenderer.js.map
@@ -1 +1 @@
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":["_jsx"],"mappings":";;;AAoBwE,sBAAA;AAAA,EACvE;AAAA,EACA;AAAA,GACmC;AAC7B,QAAA,gBAAgB,0BAA4B,EAAA;AAClD,QAAM,WAAYA,8BAAA,oBAAA;AAAA,IAAmB;AAAA,EAAA,CAAY;AAE1C,SAAA,aACJ,cACA,YACA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAED,KAAK,IACL,IACA;AACJ;;"}
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":["LeafRenderer","leaf","renderLeaf","formatVersion","useRichTextRenderMetadata","fallback","createElement","text"],"mappings":";;;;AAoBO,SAASA,aAAwD;AAAA,EACvEC;AAAAA,EACAC;AACgC,GAAG;AAC7BC,QAAAA,gBAAgBC,0BAA4BD,EAAAA;AAC5CE,QAAAA,+BAAY,oBAAkB;AAAA,IAAC;AAAA,EAAA,CAAc;AAE5CH,SAAAA,aACJI,cACAJ,YACA;AAAA,IACCC;AAAAA,IACAF;AAAAA,IACAI;AAAAA,EAAAA,GAEDJ,KAAKM,IAAI,IAETF;AACJ;"}
@@ -1,81 +1,107 @@
1
- import { createElement, Fragment } from "react";
1
+ import { createElement } from "react";
2
2
  import { renderChildren } from "./renderChildren.js";
3
3
  import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
4
4
  import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
5
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
5
6
  const getElementDataAttributes = (element, attributeNamePrefix = "contember-") => {
6
- const { children, referenceId, ...extendedSpecifics } = element;
7
+ const {
8
+ children,
9
+ referenceId,
10
+ ...extendedSpecifics
11
+ } = element;
7
12
  return Object.fromEntries(Object.entries(extendedSpecifics).filter(([, value]) => {
8
13
  const t = typeof value;
9
14
  return t === "string" || t === "number" || t === "boolean";
10
15
  }).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value]));
11
16
  };
12
- function RenderElementFallback({ element, children, options }) {
17
+ function RenderElementFallback({
18
+ element,
19
+ children,
20
+ options
21
+ }) {
13
22
  const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
14
23
  switch (element.type) {
15
24
  case "anchor":
16
- return /* @__PURE__ */ createElement("a", {
25
+ return /* @__PURE__ */ jsx("a", {
17
26
  ...attributes,
18
- href: element.href
19
- }, children);
27
+ href: element.href,
28
+ children
29
+ });
20
30
  case "heading":
21
31
  return createElement(`h${element.level}`, attributes, children);
22
32
  case "horizontalRule":
23
- return /* @__PURE__ */ createElement("hr", {
33
+ return /* @__PURE__ */ jsx("hr", {
24
34
  ...attributes
25
35
  });
26
36
  case "listItem":
27
- return /* @__PURE__ */ createElement("li", {
28
- ...attributes
29
- }, children);
37
+ return /* @__PURE__ */ jsx("li", {
38
+ ...attributes,
39
+ children
40
+ });
30
41
  case "orderedList":
31
- return /* @__PURE__ */ createElement("ol", {
32
- ...attributes
33
- }, children);
42
+ return /* @__PURE__ */ jsx("ol", {
43
+ ...attributes,
44
+ children
45
+ });
34
46
  case "paragraph":
35
- return /* @__PURE__ */ createElement("p", {
36
- ...attributes
37
- }, children);
47
+ return /* @__PURE__ */ jsx("p", {
48
+ ...attributes,
49
+ children
50
+ });
38
51
  case "reference": {
39
- return /* @__PURE__ */ createElement(ReferenceElementFallback, {
52
+ return /* @__PURE__ */ jsx(ReferenceElementFallback, {
40
53
  element,
41
54
  children
42
55
  });
43
56
  }
44
57
  case "scrollTarget":
45
- return /* @__PURE__ */ createElement("span", {
58
+ return /* @__PURE__ */ jsx("span", {
46
59
  ...attributes,
47
- id: element.identifier
48
- }, children);
60
+ id: element.identifier,
61
+ children
62
+ });
49
63
  case "table": {
50
64
  const firstRow = element.children[0];
51
65
  if (!firstRow || firstRow.headerScope !== "table") {
52
- return /* @__PURE__ */ createElement("table", {
53
- ...attributes
54
- }, /* @__PURE__ */ createElement("tbody", null, children));
66
+ return /* @__PURE__ */ jsx("table", {
67
+ ...attributes,
68
+ children: /* @__PURE__ */ jsx("tbody", {
69
+ children
70
+ })
71
+ });
55
72
  }
56
- return /* @__PURE__ */ createElement("table", {
57
- ...attributes
58
- }, /* @__PURE__ */ createElement("thead", null, renderChildren([firstRow], options)), /* @__PURE__ */ createElement("tbody", null, renderChildren(element.children.slice(1), options)));
73
+ return /* @__PURE__ */ jsxs("table", {
74
+ ...attributes,
75
+ children: [/* @__PURE__ */ jsx("thead", {
76
+ children: renderChildren([firstRow], options)
77
+ }), /* @__PURE__ */ jsx("tbody", {
78
+ children: renderChildren(element.children.slice(1), options)
79
+ })]
80
+ });
59
81
  }
60
82
  case "tableRow":
61
- return /* @__PURE__ */ createElement("tr", {
62
- ...attributes
63
- }, children);
83
+ return /* @__PURE__ */ jsx("tr", {
84
+ ...attributes,
85
+ children
86
+ });
64
87
  case "tableCell": {
65
88
  if (element.headerScope) {
66
- return /* @__PURE__ */ createElement("th", {
89
+ return /* @__PURE__ */ jsx("th", {
67
90
  ...attributes,
68
- scope: element.headerScope
69
- }, children);
91
+ scope: element.headerScope,
92
+ children
93
+ });
70
94
  }
71
- return /* @__PURE__ */ createElement("td", {
72
- ...attributes
73
- }, children);
95
+ return /* @__PURE__ */ jsx("td", {
96
+ ...attributes,
97
+ children
98
+ });
74
99
  }
75
100
  case "unorderedList":
76
- return /* @__PURE__ */ createElement("ul", {
77
- ...attributes
78
- }, children);
101
+ return /* @__PURE__ */ jsx("ul", {
102
+ ...attributes,
103
+ children
104
+ });
79
105
  default: {
80
106
  {
81
107
  return children;
@@ -83,7 +109,10 @@ function RenderElementFallback({ element, children, options }) {
83
109
  }
84
110
  }
85
111
  }
86
- function ReferenceElementFallback({ element, children }) {
112
+ function ReferenceElementFallback({
113
+ element,
114
+ children
115
+ }) {
87
116
  const metadata = useRichTextRenderMetadata();
88
117
  const elementMetadata = resolveRichTextElementMetadata(element, metadata);
89
118
  if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
@@ -91,14 +120,18 @@ function ReferenceElementFallback({ element, children }) {
91
120
  return children;
92
121
  }
93
122
  }
94
- return /* @__PURE__ */ createElement(Fragment, null, elementMetadata.referenceRenderer?.({
95
- referenceType: elementMetadata.referenceType,
96
- referenceRenderer: elementMetadata.referenceRenderer,
97
- reference: elementMetadata.reference,
98
- formatVersion: elementMetadata.formatVersion,
99
- element,
100
- children
101
- }));
123
+ return /* @__PURE__ */ jsx(Fragment, {
124
+ children: elementMetadata.referenceRenderer?.({
125
+ referenceType: elementMetadata.referenceType,
126
+ referenceRenderer: elementMetadata.referenceRenderer,
127
+ reference: elementMetadata.reference,
128
+ formatVersion: elementMetadata.formatVersion,
129
+ element,
130
+ children
131
+ })
132
+ });
102
133
  }
103
- export { RenderElementFallback };
134
+ export {
135
+ RenderElementFallback
136
+ };
104
137
  //# sourceMappingURL=RenderElementFallback.js.map
@@ -1 +1 @@
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":["_jsx","_jsxFragment"],"mappings":";;;;AAkBA,MAAM,2BAA2B,CAIhC,SACA,sBAA8B,iBAG1B;AACE,QAAA,EAAE,UAAU,gBAAgB,sBAAsB;AAEjD,SAAA,OAAO,YACb,OAAO,QAAQ,iBAAiB,EAC9B,OAAO,CAAC,CAAG,EAAA,WAAW;AACtB,UAAM,IAAI,OAAO;AACjB,WAAO,MAAM,YAAY,MAAM,YAAY,MAAM;AAAA,EAAA,CACjD,EACA,IAAI,CAAC,CAAC,WAAW,WAAW,CAAC,QAAQ,sBAAsB,UAAU,YAAA,KAAiB,KAAK,CAAC,CAC/F;AACD;AAKE,+BAAA,EAAE,SAAS,UAAU,WAAqE;AAC3F,QAAM,aAAa,yBAAyB,SAAS,QAAQ,mBAAmB;AAEhF,UAAQ,QAAQ;AAAA,SACV;AACJ,aACEA,8BAAA,KAAA;AAAA,WAAM;AAAA,QAAY,MAAM,QAAQ;AAAA,MAAA,GAC/B,QACF;AAAA,SAEG;AACJ,aAAO,cAAc,IAAI,QAAQ,SAAS,YAAY,QAAQ;AAAA,SAC1D;AACJ,aAAQA,8BAAA,MAAA;AAAA,WAAO;AAAA,MAAA,CAAY;AAAA,SACvB;AACJ,aAAQA,8BAAA,MAAA;AAAA,WAAO;AAAA,MAAA,GAAa,QAAS;AAAA,SACjC;AACJ,aAAQA,8BAAA,MAAA;AAAA,WAAO;AAAA,MAAA,GAAa,QAAS;AAAA,SACjC;AACJ,aAAQA,8BAAA,KAAA;AAAA,WAAM;AAAA,MAAA,GAAa,QAAS;AAAA,SAChC,aAAa;AACjB,aAAQA,8BAAA,0BAAA;AAAA,QAAyB;AAAA,QAAkB;AAAA,MAAA,CAAoB;AAAA,IACxE;AAAA,SACK;AACJ,aACEA,8BAAA,QAAA;AAAA,WAAS;AAAA,QAAY,IAAI,QAAQ;AAAA,MAAA,GAChC,QACF;AAAA,SAEG,SAAS;AACP,YAAA,WAAW,QAAQ,SAAS;AAClC,UAAI,CAAC,YAAY,SAAS,gBAAgB,SAAS;AAClD,eACEA,8BAAA,SAAA;AAAA,aAAU;AAAA,QACV,GAAAA,8BAAC,SAAO,MAAA,QAAS,CAClB;AAAA,MAEF;AACA,aACEA,8BAAA,SAAA;AAAA,WAAU;AAAA,MAAA,iCACT,SAAO,MAAA,eAA6C,CAAC,QAAQ,GAAG,OAAO,CAAE,iCACzE,SAAO,MAAA,eAA6C,QAAQ,SAAS,MAAM,CAAC,GAAU,OAAO,CAAE,CACjG;AAAA,IAEF;AAAA,SACK;AACJ,aAAQA,8BAAA,MAAA;AAAA,WAAO;AAAA,MAAA,GAAa,QAAS;AAAA,SACjC,aAAa;AACjB,UAAI,QAAQ,aAAa;AACxB,eACEA,8BAAA,MAAA;AAAA,aAAO;AAAA,UAAY,OAAO,QAAQ;AAAA,QAAA,GACjC,QACF;AAAA,MAEF;AACA,aAAQA,8BAAA,MAAA;AAAA,WAAO;AAAA,MAAA,GAAa,QAAS;AAAA,IACtC;AAAA,SACK;AACJ,aAAQA,8BAAA,MAAA;AAAA,WAAO;AAAA,MAAA,GAAa,QAAS;AAAA,aAC7B;AAKD;AACC,eAAA;AAAA,MACR;AAAA,IACD;AAAA;AAEF;AAEA,kCAGE,EAAE,SAAS,YAAyG;AACrH,QAAM,WAAW;AACX,QAAA,kBAAkB,+BAA6D,SAAS,QAAQ;AAGrG,MAAA,gBAAgB,sBAAsB,UACtC,gBAAgB,kBAAkB,UAClC,gBAAgB,cAAc,QAC7B;AAKM;AACC,aAAA;AAAA,IACR;AAAA,EACD;AAGC,SAAAA,8BAAAC,UAAA,MACE,gBAAgB,oBAAoB;AAAA,IACpC,eAAe,gBAAgB;AAAA,IAC/B,mBAAmB,gBAAgB;AAAA,IACnC,WAAW,gBAAgB;AAAA,IAC3B,eAAe,gBAAgB;AAAA,IAC/B;AAAA,IACA;AAAA,EACA,CAAA,CACF;AAEF;;"}
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":["getElementDataAttributes","element","attributeNamePrefix","children","referenceId","extendedSpecifics","Object","fromEntries","entries","filter","value","t","map","attribute","toLowerCase","RenderElementFallback","options","attributes","type","href","createElement","level","identifier","firstRow","headerScope","_jsx","renderChildren","slice","ReferenceElementFallback","metadata","useRichTextRenderMetadata","elementMetadata","resolveRichTextElementMetadata","referenceRenderer","undefined","referenceType","reference","_Fragment","formatVersion"],"mappings":"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"}
@@ -1,34 +1,53 @@
1
- import { createElement, Fragment } from "react";
1
+ import { Fragment as Fragment$1 } from "react";
2
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
3
  function jsxN2br(text) {
3
4
  const lines = text.split("\n");
4
5
  if (lines.length <= 1) {
5
6
  return text;
6
7
  }
7
- return lines.map((line, i) => /* @__PURE__ */ createElement(Fragment, {
8
- key: i
9
- }, !!i && /* @__PURE__ */ createElement("br", null), line));
8
+ return lines.map((line, i) => /* @__PURE__ */ jsxs(Fragment$1, {
9
+ children: [!!i && /* @__PURE__ */ jsx("br", {}), line]
10
+ }, i));
10
11
  }
11
- function RenderLeafFallback({ leaf }) {
12
+ function RenderLeafFallback({
13
+ leaf
14
+ }) {
12
15
  let element = jsxN2br(leaf.text);
13
16
  if ("isCode" in leaf && leaf.isCode === true) {
14
- element = /* @__PURE__ */ createElement("code", null, element);
17
+ element = /* @__PURE__ */ jsx("code", {
18
+ children: element
19
+ });
15
20
  }
16
21
  if ("isStruckThrough" in leaf && leaf.isStruckThrough === true) {
17
- element = /* @__PURE__ */ createElement("s", null, element);
22
+ element = /* @__PURE__ */ jsx("s", {
23
+ children: element
24
+ });
18
25
  }
19
26
  if ("isHighlighted" in leaf && leaf.isHighlighted === true) {
20
- element = /* @__PURE__ */ createElement("em", null, element);
27
+ element = /* @__PURE__ */ jsx("em", {
28
+ children: element
29
+ });
21
30
  }
22
31
  if ("isUnderlined" in leaf && leaf.isUnderlined === true) {
23
- element = /* @__PURE__ */ createElement("u", null, element);
32
+ element = /* @__PURE__ */ jsx("u", {
33
+ children: element
34
+ });
24
35
  }
25
36
  if ("isItalic" in leaf && leaf.isItalic === true) {
26
- element = /* @__PURE__ */ createElement("i", null, element);
37
+ element = /* @__PURE__ */ jsx("i", {
38
+ children: element
39
+ });
27
40
  }
28
41
  if ("isBold" in leaf && leaf.isBold === true) {
29
- element = /* @__PURE__ */ createElement("b", null, element);
42
+ element = /* @__PURE__ */ jsx("b", {
43
+ children: element
44
+ });
30
45
  }
31
- return /* @__PURE__ */ createElement(Fragment, null, element);
46
+ return /* @__PURE__ */ jsx(Fragment, {
47
+ children: element
48
+ });
32
49
  }
33
- export { RenderLeafFallback };
50
+ export {
51
+ RenderLeafFallback
52
+ };
34
53
  //# sourceMappingURL=RenderLeafFallback.js.map
@@ -1 +1 @@
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":["_jsx"],"mappings":";AAOA,iBAAiB,MAAyB;AACnC,QAAA,QAAQ,KAAK,MAAM,IAAI;AACzB,MAAA,MAAM,UAAU,GAAG;AACf,WAAA;AAAA,EACR;AACA,SAAO,MAAM,IAAI,CAAC,MAAM,MACtBA,8BAAA,UAAA;AAAA,IAAS,KAAK;AAAA,EAAA,GACb,CAAC,CAAC,mCAAM,MAAG,IAAA,GACX,IACF,CACA;AACF;AAEO,4BAA4B,EAAE,QAAiC;AACjE,MAAA,UAAU,QAAQ,KAAK,IAAI;AAE/B,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAAA,8BAAC,cAAM,OAAQ;AAAA,EAC1B;AACA,MAAI,qBAAqB,QAAQ,KAAK,oBAAoB,MAAM;AACrD,cAAAA,8BAAC,WAAG,OAAQ;AAAA,EACvB;AACA,MAAI,mBAAmB,QAAQ,KAAK,kBAAkB,MAAM;AACjD,cAAAA,8BAAC,YAAI,OAAQ;AAAA,EACxB;AACA,MAAI,kBAAkB,QAAQ,KAAK,iBAAiB,MAAM;AAC/C,cAAAA,8BAAC,WAAG,OAAQ;AAAA,EACvB;AACA,MAAI,cAAc,QAAQ,KAAK,aAAa,MAAM;AACvC,cAAAA,8BAAC,WAAG,OAAQ;AAAA,EACvB;AACA,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAAA,8BAAC,WAAG,OAAQ;AAAA,EACvB;AACA,uDAAU,OAAQ;AACnB;;"}
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":["jsxN2br","text","lines","split","length","map","line","i","Fragment","RenderLeafFallback","leaf","element","isCode","isStruckThrough","isHighlighted","isUnderlined","isItalic","isBold","_Fragment"],"mappings":";;AAOA,SAASA,QAAQC,MAAyB;AACnCC,QAAAA,QAAQD,KAAKE,MAAM,IAAI;AACzBD,MAAAA,MAAME,UAAU,GAAG;AACfH,WAAAA;AAAAA,EACR;AACA,SAAOC,MAAMG,IAAI,CAACC,MAAMC,2BACtBC,YAAQ;AAAA,IAAA,UAAA,CACP,CAAC,CAACD,yBAAK,MAAA,CAAA,CAAA,GACPD,IAAI;AAAA,EAAA,GAFSC,CAAC,CAIhB;AACF;AAEO,SAASE,mBAAmB;AAAA,EAAEC;AAA8B,GAAG;AACjEC,MAAAA,UAAUX,QAAQU,KAAKT,IAAI;AAE/B,MAAI,YAAYS,QAAQA,KAAKE,WAAW,MAAM;AAC7CD,kCAAU,QAAA;AAAA,MAAA,UAAOA;AAAAA,IAAAA,CAAe;AAAA,EACjC;AACA,MAAI,qBAAqBD,QAAQA,KAAKG,oBAAoB,MAAM;AAC/DF,kCAAU,KAAA;AAAA,MAAA,UAAIA;AAAAA,IAAAA,CAAY;AAAA,EAC3B;AACA,MAAI,mBAAmBD,QAAQA,KAAKI,kBAAkB,MAAM;AAC3DH,kCAAU,MAAA;AAAA,MAAA,UAAKA;AAAAA,IAAAA,CAAa;AAAA,EAC7B;AACA,MAAI,kBAAkBD,QAAQA,KAAKK,iBAAiB,MAAM;AACzDJ,kCAAU,KAAA;AAAA,MAAA,UAAIA;AAAAA,IAAAA,CAAY;AAAA,EAC3B;AACA,MAAI,cAAcD,QAAQA,KAAKM,aAAa,MAAM;AACjDL,kCAAU,KAAA;AAAA,MAAA,UAAIA;AAAAA,IAAAA,CAAY;AAAA,EAC3B;AACA,MAAI,YAAYD,QAAQA,KAAKO,WAAW,MAAM;AAC7CN,kCAAU,KAAA;AAAA,MAAA,UAAIA;AAAAA,IAAAA,CAAY;AAAA,EAC3B;AACA,6BAAOO,UAAA;AAAA,IAAA,UAAGP;AAAAA,EAAAA,CAAW;AACtB;"}
@@ -8,5 +8,8 @@ const RichTextRenderMetadataContext = createContext({
8
8
  });
9
9
  RichTextRenderMetadataContext.displayName = "RichTextRenderMetadataContext";
10
10
  const useRichTextRenderMetadata = () => useContext(RichTextRenderMetadataContext);
11
- export { RichTextRenderMetadataContext, useRichTextRenderMetadata };
11
+ export {
12
+ RichTextRenderMetadataContext,
13
+ useRichTextRenderMetadata
14
+ };
12
15
  //# sourceMappingURL=RichTextRenderMetadataContext.js.map
@@ -1 +1 @@
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
+ {"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,31 +1,34 @@
1
- import { memo, createElement, Fragment, useMemo } from "react";
1
+ import { memo, useMemo, createElement } from "react";
2
2
  import { defaultDeserialize } from "./defaultDeserialize.js";
3
3
  import { renderChildren } from "./renderChildren.js";
4
4
  import { RichTextRendererError } from "./RichTextRendererError.js";
5
5
  import { RichTextRenderMetadataContext } from "./RichTextRenderMetadataContext.js";
6
+ import { jsx, Fragment } from "react/jsx-runtime";
6
7
  const RichTextRenderer = memo(function RichTextRenderer2({
7
8
  deserialize = defaultDeserialize,
8
9
  renderElement,
9
10
  renderLeaf,
10
- renderBlock = ({ children }) => /* @__PURE__ */ createElement(Fragment, null, children),
11
+ renderBlock = ({
12
+ children
13
+ }) => /* @__PURE__ */ jsx(Fragment, {
14
+ children
15
+ }),
11
16
  attributeNamePrefix,
12
17
  ...sourceProps
13
18
  }) {
14
19
  const normalizedSource = useMemo(() => {
15
20
  if ("source" in sourceProps && !("blocks" in sourceProps)) {
16
- return [
17
- {
18
- content: sourceProps.source ? deserialize(sourceProps.source) : {
19
- formatVersion: 0,
20
- children: []
21
- },
22
- id: void 0,
23
- referencesField: void 0,
24
- referenceDiscriminationField: void 0,
25
- referenceRenderers: {},
26
- references: void 0
27
- }
28
- ];
21
+ return [{
22
+ content: sourceProps.source ? deserialize(sourceProps.source) : {
23
+ formatVersion: 0,
24
+ children: []
25
+ },
26
+ id: void 0,
27
+ referencesField: void 0,
28
+ referenceDiscriminationField: void 0,
29
+ referenceRenderers: {},
30
+ references: void 0
31
+ }];
29
32
  }
30
33
  if ("blocks" in sourceProps) {
31
34
  const sourceField = sourceProps.sourceField ?? "source";
@@ -71,22 +74,26 @@ const RichTextRenderer = memo(function RichTextRenderer2({
71
74
  }
72
75
  throw new RichTextRendererError(`RichTextRenderer: invalid data supplied.`);
73
76
  }, [deserialize, sourceProps]);
74
- return /* @__PURE__ */ createElement(Fragment, null, normalizedSource.map((block, i) => /* @__PURE__ */ createElement(RichTextRenderMetadataContext.Provider, {
75
- key: block.id ?? i,
76
- value: {
77
- formatVersion: block.content.formatVersion,
78
- referenceRenderers: block.referenceRenderers,
79
- referencesField: block.referencesField,
80
- referenceDiscriminationField: block.referenceDiscriminationField,
81
- references: block.references
82
- }
83
- }, createElement(renderBlock, {
84
- block
85
- }, renderChildren(block.content.children, {
86
- renderLeaf,
87
- renderElement,
88
- attributeNamePrefix
89
- })))));
77
+ return /* @__PURE__ */ jsx(Fragment, {
78
+ children: normalizedSource.map((block, i) => /* @__PURE__ */ jsx(RichTextRenderMetadataContext.Provider, {
79
+ value: {
80
+ formatVersion: block.content.formatVersion,
81
+ referenceRenderers: block.referenceRenderers,
82
+ referencesField: block.referencesField,
83
+ referenceDiscriminationField: block.referenceDiscriminationField,
84
+ references: block.references
85
+ },
86
+ children: createElement(renderBlock, {
87
+ block
88
+ }, renderChildren(block.content.children, {
89
+ renderLeaf,
90
+ renderElement,
91
+ attributeNamePrefix
92
+ }))
93
+ }, block.id ?? i))
94
+ });
90
95
  });
91
- export { RichTextRenderer };
96
+ export {
97
+ RichTextRenderer
98
+ };
92
99
  //# sourceMappingURL=RichTextRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextRenderer.js","sources":["../../../../src/components/RichTextRenderer/RichTextRenderer.tsx"],"sourcesContent":["import { ComponentType, createElement, memo, ReactElement, ReactNode, useMemo } from 'react'\nimport { defaultDeserialize } from './defaultDeserialize'\nimport type { RenderElement } from './ElementRenderer'\nimport type { RenderLeaf } from './LeafRenderer'\nimport type { NormalizedRichTextBlock } from './NormalizedRichTextBlock'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport { renderChildren } from './renderChildren'\nimport type { RichTextBlock } from './RichTextBlock'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { RichTextRenderMetadataContext } from './RichTextRenderMetadataContext'\nimport type { RootEditorNode } from './RootEditorNode'\n\nexport interface RichTextRendererFieldProps {\n\tsource: string | null\n}\n\nexport interface RichTextRendererBlockProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\tblocks: 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 }>\n} & (RichTextRendererFieldProps | RichTextRendererBlockProps<CustomElements, CustomLeaves>)\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\t\tformatVersion: 0,\n\t\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 ('blocks' 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\t(sourceProps.sourceField === undefined\n\t\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\t: `That is what the 'sourceField' prop has been set to, and so either this is a typo, ` +\n\t\t\t\t\t\t\t\t `or the data supplied is invalid.`),\n\t\t\t\t\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\t`has been encountered. Unless this is just a typo, ` +\n\t\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\t(sourceProps.referenceDiscriminationField === undefined\n\t\t\t\t\t\t\t\t\t\t? `The 'referenceDiscriminationField' prop has not been supplied, ` +\n\t\t\t\t\t\t\t\t\t\t `and so '${referenceDiscriminationField}' was used as a default.`\n\t\t\t\t\t\t\t\t\t\t: `That is what the 'referenceDiscriminationField' prop has been set to, ` +\n\t\t\t\t\t\t\t\t\t\t `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\t\tblock,\n\t\t\t\t\t\t}, renderChildren(block.content.children, {\n\t\t\t\t\t\t\trenderLeaf,\n\t\t\t\t\t\t\trenderElement,\n\t\t\t\t\t\t\tattributeNamePrefix,\n\t\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":["_jsx","_jsxFragment"],"mappings":";;;;;AAyCa,MAAA,mBAAmB,KAAK,2BAGnC;AAAA,EACD,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,6DAAkB,QAAS;AAAA,EAC5C;AAAA,KACG;AAAA,GACoD;AACjD,QAAA,mBAAmB,QAAiE,MAAM;AAC/F,QAAI,YAAY,eAAe,CAAE,aAAY,cAAc;AACnD,aAAA;AAAA,QACN;AAAA,UACC,SAAS,YAAY,SAClB,YAAY,YAAY,MAAM,IAC9B;AAAA,YACA,eAAe;AAAA,YACf,UAAU,CAAC;AAAA,UACX;AAAA,UACH,IAAI;AAAA,UACJ,iBAAiB;AAAA,UACjB,8BAA8B;AAAA,UAC9B,oBAAoB,CAAC;AAAA,UACrB,YAAY;AAAA,QACb;AAAA,MAAA;AAAA,IAEF;AACA,QAAI,YAAY,aAAa;AACtB,YAAA,cAAc,YAAY,eAAe;AACzC,YAAA,kBAAkB,YAAY,mBAAmB;AACjD,YAAA,+BAA+B,YAAY,gCAAgC;AAE1E,aAAA,YAAY,OAAO,IAAI,CAAS,UAAA;AAClC,YAAA,iBAAiB,QAAQ;AACtB,gBAAA,IAAI,sBACT,4BAA4B,sCACd,gBAAgB,SAC1B,yDAAyD,wCACzD,sHAEL;AAAA,QACD;AACA,cAAM,SAAS,MAAM;AACjB,YAAA,OAAO,WAAW,UAAU;AACzB,gBAAA,IAAI,sBAAsB,6CAA6C;AAAA,QAC9E;AAEA,YAAI,YAAY,oBAAoB,UAAa,qBAAqB,QAAQ;AACvE,gBAAA,IAAI,sBACT,yCAAyC,qLAG1C;AAAA,QACD;AACA,cAAM,aAAa,MAAM;AAEzB,YAAI,uBAAmE;AACvE,YAAI,YAAY;AACf,cAAI,OAAO,OAAO,UAAU,EAAE,OAAO,cAAc,YAAY;AACxD,kBAAA,IAAI,sBAAsB,4CAA4C;AAAA,UAC7E;AAEA,qDAA2B;AAC3B,qBAAW,aAAa,YAA2C;AAC9D,gBAAA,UAAU,YAAY;AACnB,oBAAA,IAAI,sBAAsB,wCAAwC;AAAA,YACzE;AACI,gBAAA,kCAAkC,YAAY;AAC3C,oBAAA,IAAI,sBACT,gCAAgC,uDAClB,iCAAiC,SAC3C,0EACW,yDACX,uIAEL;AAAA,YACD;AACqB,iCAAA,IAAI,UAAU,IAAI,SAAS;AAAA,UACjD;AAAA,QACD;AACO,eAAA;AAAA,UACN,IAAI,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK;AAAA,UAC9C,SAAS,YAAY,MAAM;AAAA,UAC3B;AAAA,UACA,oBAAoB,YAAY,sBAAsB,CAAC;AAAA,UACvD;AAAA,UACA,YAAY;AAAA,QAAA;AAAA,MACb,CACA;AAAA,IACF;AACM,UAAA,IAAI,sBAAsB,0CAA0C;AAAA,EAAA,GACxE,CAAC,aAAa,WAAW,CAAC;AAG5B,SAAAA,8BAAAC,UAAA,MACE,iBAAiB,IAAI,CAAC,OAAO,MAC7BD,8BAAC,8BAA8B,UAA9B;AAAA,IACA,KAAK,MAAM,MAAM;AAAA,IACjB,OAAO;AAAA,MACN,eAAe,MAAM,QAAQ;AAAA,MAC7B,oBAAoB,MAAM;AAAA,MAC1B,iBAAiB,MAAM;AAAA,MACvB,8BAA8B,MAAM;AAAA,MACpC,YAAY,MAAM;AAAA,IACnB;AAAA,EAAA,GAEC,cACA,aAAa;AAAA,IACZ;AAAA,EACE,GAAA,eAAe,MAAM,QAAQ,UAAU;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA,CACF,CACD,CACA,CACF;AAEF,CAAC;;"}
1
+ {"version":3,"file":"RichTextRenderer.js","sources":["../../../../src/components/RichTextRenderer/RichTextRenderer.tsx"],"sourcesContent":["import { ComponentType, createElement, memo, ReactElement, ReactNode, useMemo } from 'react'\nimport { defaultDeserialize } from './defaultDeserialize'\nimport type { RenderElement } from './ElementRenderer'\nimport type { RenderLeaf } from './LeafRenderer'\nimport type { NormalizedRichTextBlock } from './NormalizedRichTextBlock'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport { renderChildren } from './renderChildren'\nimport type { RichTextBlock } from './RichTextBlock'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { RichTextRenderMetadataContext } from './RichTextRenderMetadataContext'\nimport type { RootEditorNode } from './RootEditorNode'\n\nexport interface RichTextRendererFieldProps {\n\tsource: string | null\n}\n\nexport interface RichTextRendererBlockProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\tblocks: 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\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\t\tformatVersion: 0,\n\t\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 ('blocks' 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\t(sourceProps.sourceField === undefined\n\t\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\t: `That is what the 'sourceField' prop has been set to, and so either this is a typo, ` +\n\t\t\t\t\t\t\t\t `or the data supplied is invalid.`),\n\t\t\t\t\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\t`has been encountered. Unless this is just a typo, ` +\n\t\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\t(sourceProps.referenceDiscriminationField === undefined\n\t\t\t\t\t\t\t\t\t\t? `The 'referenceDiscriminationField' prop has not been supplied, ` +\n\t\t\t\t\t\t\t\t\t\t `and so '${referenceDiscriminationField}' was used as a default.`\n\t\t\t\t\t\t\t\t\t\t: `That is what the 'referenceDiscriminationField' prop has been set to, ` +\n\t\t\t\t\t\t\t\t\t\t `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\t\tblock,\n\t\t\t\t\t\t}, renderChildren(block.content.children, {\n\t\t\t\t\t\t\trenderLeaf,\n\t\t\t\t\t\t\trenderElement,\n\t\t\t\t\t\t\tattributeNamePrefix,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)}\n\t\t\t\t</RichTextRenderMetadataContext.Provider>\n\t\t\t))}\n\t\t</>\n\t)\n}) as <CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = never>(\n\tprops: RichTextRendererProps<CustomElements, CustomLeaves>,\n) => ReactElement\n"],"names":["RichTextRenderer","memo","deserialize","defaultDeserialize","renderElement","renderLeaf","renderBlock","children","_Fragment","attributeNamePrefix","sourceProps","normalizedSource","useMemo","content","source","formatVersion","id","undefined","referencesField","referenceDiscriminationField","referenceRenderers","references","sourceField","blocks","map","block","RichTextRendererError","normalizedReferences","Object","Symbol","iterator","Map","reference","set","i","_jsx","createElement","renderChildren"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  class RichTextRendererError extends Error {
2
2
  }
3
- export { RichTextRendererError };
3
+ export {
4
+ RichTextRendererError
5
+ };
4
6
  //# sourceMappingURL=RichTextRendererError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextRendererError.js","sources":["../../../../src/components/RichTextRenderer/RichTextRendererError.ts"],"sourcesContent":["export class RichTextRendererError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,MAAM;AAAC;;"}
1
+ {"version":3,"file":"RichTextRendererError.js","sources":["../../../../src/components/RichTextRenderer/RichTextRendererError.ts"],"sourcesContent":["export class RichTextRendererError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,MAAM;AAAC;"}
@@ -8,5 +8,7 @@ const defaultDeserialize = (source) => {
8
8
  };
9
9
  }
10
10
  };
11
- export { defaultDeserialize };
11
+ export {
12
+ defaultDeserialize
13
+ };
12
14
  //# sourceMappingURL=defaultDeserialize.js.map