@contember/react-client 1.3.0-alpha.2 → 1.3.0-alpha.21

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 (190) hide show
  1. package/dist/development/index.cjs +9 -5
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +1 -4
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/upload/fileUploadReducer.cjs +2 -3
  6. package/dist/development/upload/fileUploadReducer.cjs.map +1 -1
  7. package/dist/development/upload/fileUploadReducer.js +2 -3
  8. package/dist/development/upload/fileUploadReducer.js.map +1 -1
  9. package/dist/development/upload/useFileUpload.cjs.map +1 -1
  10. package/dist/development/upload/useFileUpload.js.map +1 -1
  11. package/dist/development/useGraphQlClient.cjs.map +1 -1
  12. package/dist/development/useGraphQlClient.js.map +1 -1
  13. package/dist/production/index.cjs +9 -5
  14. package/dist/production/index.cjs.map +1 -1
  15. package/dist/production/index.js +1 -4
  16. package/dist/production/index.js.map +1 -1
  17. package/dist/production/upload/fileUploadReducer.cjs +2 -3
  18. package/dist/production/upload/fileUploadReducer.cjs.map +1 -1
  19. package/dist/production/upload/fileUploadReducer.js +2 -3
  20. package/dist/production/upload/fileUploadReducer.js.map +1 -1
  21. package/dist/production/upload/useFileUpload.cjs.map +1 -1
  22. package/dist/production/upload/useFileUpload.js.map +1 -1
  23. package/dist/production/useGraphQlClient.cjs.map +1 -1
  24. package/dist/production/useGraphQlClient.js.map +1 -1
  25. package/dist/types/index.d.ts +1 -1
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/tsconfig.tsbuildinfo +1 -1
  28. package/dist/types/upload/SingleFileUploadState.d.ts +8 -4
  29. package/dist/types/upload/SingleFileUploadState.d.ts.map +1 -1
  30. package/dist/types/upload/fileUploadReducer.d.ts.map +1 -1
  31. package/dist/types/upload/index.d.ts +1 -1
  32. package/dist/types/upload/index.d.ts.map +1 -1
  33. package/package.json +4 -3
  34. package/src/index.ts +1 -1
  35. package/src/tsconfig.json +1 -0
  36. package/src/upload/SingleFileUploadState.ts +40 -32
  37. package/src/upload/fileUploadReducer.ts +4 -3
  38. package/src/upload/index.ts +1 -1
  39. package/dist/development/components/RichTextRenderer/ElementRenderer.cjs +0 -27
  40. package/dist/development/components/RichTextRenderer/ElementRenderer.cjs.map +0 -1
  41. package/dist/development/components/RichTextRenderer/ElementRenderer.js +0 -27
  42. package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +0 -1
  43. package/dist/development/components/RichTextRenderer/LeafRenderer.cjs +0 -28
  44. package/dist/development/components/RichTextRenderer/LeafRenderer.cjs.map +0 -1
  45. package/dist/development/components/RichTextRenderer/LeafRenderer.js +0 -28
  46. package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +0 -1
  47. package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs +0 -155
  48. package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs.map +0 -1
  49. package/dist/development/components/RichTextRenderer/RenderElementFallback.js +0 -155
  50. package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +0 -1
  51. package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs +0 -74
  52. package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs.map +0 -1
  53. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +0 -74
  54. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +0 -1
  55. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +0 -15
  56. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +0 -1
  57. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js +0 -15
  58. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +0 -1
  59. package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs +0 -124
  60. package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs.map +0 -1
  61. package/dist/development/components/RichTextRenderer/RichTextRenderer.js +0 -124
  62. package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +0 -1
  63. package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs +0 -6
  64. package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs.map +0 -1
  65. package/dist/development/components/RichTextRenderer/RichTextRendererError.js +0 -6
  66. package/dist/development/components/RichTextRenderer/RichTextRendererError.js.map +0 -1
  67. package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs +0 -14
  68. package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs.map +0 -1
  69. package/dist/development/components/RichTextRenderer/defaultDeserialize.js +0 -14
  70. package/dist/development/components/RichTextRenderer/defaultDeserialize.js.map +0 -1
  71. package/dist/development/components/RichTextRenderer/renderChildren.cjs +0 -33
  72. package/dist/development/components/RichTextRenderer/renderChildren.cjs.map +0 -1
  73. package/dist/development/components/RichTextRenderer/renderChildren.js +0 -33
  74. package/dist/development/components/RichTextRenderer/renderChildren.js.map +0 -1
  75. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +0 -29
  76. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +0 -1
  77. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js +0 -29
  78. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +0 -1
  79. package/dist/production/components/RichTextRenderer/ElementRenderer.cjs +0 -23
  80. package/dist/production/components/RichTextRenderer/ElementRenderer.cjs.map +0 -1
  81. package/dist/production/components/RichTextRenderer/ElementRenderer.js +0 -23
  82. package/dist/production/components/RichTextRenderer/ElementRenderer.js.map +0 -1
  83. package/dist/production/components/RichTextRenderer/LeafRenderer.cjs +0 -24
  84. package/dist/production/components/RichTextRenderer/LeafRenderer.cjs.map +0 -1
  85. package/dist/production/components/RichTextRenderer/LeafRenderer.js +0 -24
  86. package/dist/production/components/RichTextRenderer/LeafRenderer.js.map +0 -1
  87. package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs +0 -82
  88. package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs.map +0 -1
  89. package/dist/production/components/RichTextRenderer/RenderElementFallback.js +0 -82
  90. package/dist/production/components/RichTextRenderer/RenderElementFallback.js.map +0 -1
  91. package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs +0 -38
  92. package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs.map +0 -1
  93. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js +0 -38
  94. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js.map +0 -1
  95. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +0 -15
  96. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +0 -1
  97. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js +0 -15
  98. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +0 -1
  99. package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs +0 -109
  100. package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs.map +0 -1
  101. package/dist/production/components/RichTextRenderer/RichTextRenderer.js +0 -109
  102. package/dist/production/components/RichTextRenderer/RichTextRenderer.js.map +0 -1
  103. package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs +0 -6
  104. package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs.map +0 -1
  105. package/dist/production/components/RichTextRenderer/RichTextRendererError.js +0 -6
  106. package/dist/production/components/RichTextRenderer/RichTextRendererError.js.map +0 -1
  107. package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs +0 -14
  108. package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs.map +0 -1
  109. package/dist/production/components/RichTextRenderer/defaultDeserialize.js +0 -14
  110. package/dist/production/components/RichTextRenderer/defaultDeserialize.js.map +0 -1
  111. package/dist/production/components/RichTextRenderer/renderChildren.cjs +0 -21
  112. package/dist/production/components/RichTextRenderer/renderChildren.cjs.map +0 -1
  113. package/dist/production/components/RichTextRenderer/renderChildren.js +0 -21
  114. package/dist/production/components/RichTextRenderer/renderChildren.js.map +0 -1
  115. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +0 -29
  116. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +0 -1
  117. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js +0 -29
  118. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +0 -1
  119. package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts +0 -49
  120. package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts.map +0 -1
  121. package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts +0 -21
  122. package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts.map +0 -1
  123. package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts +0 -22
  124. package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts.map +0 -1
  125. package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts +0 -14
  126. package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts.map +0 -1
  127. package/dist/types/components/RichTextRenderer/NormalizedRichTextBlock.d.ts +0 -14
  128. package/dist/types/components/RichTextRenderer/NormalizedRichTextBlock.d.ts.map +0 -1
  129. package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts +0 -14
  130. package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts.map +0 -1
  131. package/dist/types/components/RichTextRenderer/RenderElementFallback.d.ts +0 -12
  132. package/dist/types/components/RichTextRenderer/RenderElementFallback.d.ts.map +0 -1
  133. package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts +0 -6
  134. package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts.map +0 -1
  135. package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts +0 -2
  136. package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts.map +0 -1
  137. package/dist/types/components/RichTextRenderer/RichTextElement.d.ts +0 -7
  138. package/dist/types/components/RichTextRenderer/RichTextElement.d.ts.map +0 -1
  139. package/dist/types/components/RichTextRenderer/RichTextElementMetadata.d.ts +0 -11
  140. package/dist/types/components/RichTextRenderer/RichTextElementMetadata.d.ts.map +0 -1
  141. package/dist/types/components/RichTextRenderer/RichTextLeaf.d.ts +0 -4
  142. package/dist/types/components/RichTextRenderer/RichTextLeaf.d.ts.map +0 -1
  143. package/dist/types/components/RichTextRenderer/RichTextLeafMetadata.d.ts +0 -4
  144. package/dist/types/components/RichTextRenderer/RichTextLeafMetadata.d.ts.map +0 -1
  145. package/dist/types/components/RichTextRenderer/RichTextReference.d.ts +0 -4
  146. package/dist/types/components/RichTextRenderer/RichTextReference.d.ts.map +0 -1
  147. package/dist/types/components/RichTextRenderer/RichTextRenderMetadata.d.ts +0 -12
  148. package/dist/types/components/RichTextRenderer/RichTextRenderMetadata.d.ts.map +0 -1
  149. package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts +0 -7
  150. package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts.map +0 -1
  151. package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts +0 -33
  152. package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts.map +0 -1
  153. package/dist/types/components/RichTextRenderer/RichTextRendererError.d.ts +0 -3
  154. package/dist/types/components/RichTextRenderer/RichTextRendererError.d.ts.map +0 -1
  155. package/dist/types/components/RichTextRenderer/RootEditorNode.d.ts +0 -9
  156. package/dist/types/components/RichTextRenderer/RootEditorNode.d.ts.map +0 -1
  157. package/dist/types/components/RichTextRenderer/defaultDeserialize.d.ts +0 -5
  158. package/dist/types/components/RichTextRenderer/defaultDeserialize.d.ts.map +0 -1
  159. package/dist/types/components/RichTextRenderer/index.d.ts +0 -16
  160. package/dist/types/components/RichTextRenderer/index.d.ts.map +0 -1
  161. package/dist/types/components/RichTextRenderer/renderChildren.d.ts +0 -14
  162. package/dist/types/components/RichTextRenderer/renderChildren.d.ts.map +0 -1
  163. package/dist/types/components/RichTextRenderer/resolveRichTextElementMetadata.d.ts +0 -8
  164. package/dist/types/components/RichTextRenderer/resolveRichTextElementMetadata.d.ts.map +0 -1
  165. package/dist/types/components/index.d.ts +0 -2
  166. package/dist/types/components/index.d.ts.map +0 -1
  167. package/src/components/RichTextRenderer/BuiltinElements.ts +0 -112
  168. package/src/components/RichTextRenderer/BuiltinLeaves.ts +0 -32
  169. package/src/components/RichTextRenderer/ElementRenderer.tsx +0 -71
  170. package/src/components/RichTextRenderer/LeafRenderer.tsx +0 -39
  171. package/src/components/RichTextRenderer/NormalizedRichTextBlock.ts +0 -17
  172. package/src/components/RichTextRenderer/ReferenceRenderer.ts +0 -26
  173. package/src/components/RichTextRenderer/RenderElementFallback.tsx +0 -147
  174. package/src/components/RichTextRenderer/RenderLeafFallback.tsx +0 -43
  175. package/src/components/RichTextRenderer/RichTextBlock.ts +0 -1
  176. package/src/components/RichTextRenderer/RichTextElement.ts +0 -10
  177. package/src/components/RichTextRenderer/RichTextElementMetadata.ts +0 -15
  178. package/src/components/RichTextRenderer/RichTextLeaf.ts +0 -3
  179. package/src/components/RichTextRenderer/RichTextLeafMetadata.ts +0 -3
  180. package/src/components/RichTextRenderer/RichTextReference.ts +0 -3
  181. package/src/components/RichTextRenderer/RichTextRenderMetadata.ts +0 -16
  182. package/src/components/RichTextRenderer/RichTextRenderMetadataContext.ts +0 -20
  183. package/src/components/RichTextRenderer/RichTextRenderer.tsx +0 -168
  184. package/src/components/RichTextRenderer/RichTextRendererError.ts +0 -1
  185. package/src/components/RichTextRenderer/RootEditorNode.ts +0 -12
  186. package/src/components/RichTextRenderer/defaultDeserialize.ts +0 -19
  187. package/src/components/RichTextRenderer/index.ts +0 -15
  188. package/src/components/RichTextRenderer/renderChildren.tsx +0 -50
  189. package/src/components/RichTextRenderer/resolveRichTextElementMetadata.ts +0 -50
  190. package/src/components/index.ts +0 -1
package/src/tsconfig.json CHANGED
@@ -5,6 +5,7 @@
5
5
  },
6
6
  "references": [
7
7
  { "path": "../../client/src" },
8
+ { "path": "../../react-richtext-renderer/src" },
8
9
  { "path": "../../utilities/src" }
9
10
  ]
10
11
  }
@@ -1,35 +1,43 @@
1
1
  import type { FileUploader, FileUploadError } from '@contember/client'
2
2
 
3
+ export type SingleFileUploadInitializingState = {
4
+ readyState: 'initializing'
5
+ abortController: AbortController
6
+ file: File
7
+ previewUrl: string
8
+ }
9
+
10
+ export type SingleFileUploadUploadingState<Metadata = undefined> = {
11
+ readyState: 'uploading'
12
+ abortController: AbortController
13
+ file: File
14
+ metadata: Metadata
15
+ previewUrl: string
16
+ progress: number | undefined
17
+ uploader: FileUploader
18
+ }
19
+
20
+ export type SingleFileUploadSuccessState<Metadata = undefined, Result = unknown> = {
21
+ readyState: 'success'
22
+ file: File
23
+ metadata: Metadata
24
+ previewUrl: string
25
+ result: Result
26
+ uploader: FileUploader
27
+ }
28
+
29
+ export type SingleFileUploadErrorState<Metadata = undefined> = {
30
+ readyState: 'error'
31
+ errors: FileUploadError[] | undefined
32
+ rawError: any
33
+ file: File
34
+ metadata: Metadata | undefined
35
+ previewUrl: string
36
+ uploader: FileUploader | undefined
37
+ }
38
+
3
39
  export type SingleFileUploadState<Result = unknown, Metadata = undefined> =
4
- | {
5
- readyState: 'initializing'
6
- abortController: AbortController
7
- file: File
8
- previewUrl: string
9
- }
10
- | {
11
- readyState: 'uploading'
12
- abortController: AbortController
13
- file: File
14
- metadata: Metadata
15
- previewUrl: string
16
- progress: number | undefined
17
- uploader: FileUploader
18
- }
19
- | {
20
- readyState: 'success'
21
- file: File
22
- metadata: Metadata
23
- previewUrl: string
24
- result: Result
25
- uploader: FileUploader
26
- }
27
- | {
28
- readyState: 'error'
29
- errors: FileUploadError[] | undefined
30
- rawError: any
31
- file: File
32
- metadata: Metadata | undefined
33
- previewUrl: string
34
- uploader: FileUploader | undefined
35
- }
40
+ | SingleFileUploadInitializingState
41
+ | SingleFileUploadUploadingState<Metadata>
42
+ | SingleFileUploadSuccessState<Metadata, Result>
43
+ | SingleFileUploadErrorState<Metadata>
@@ -139,10 +139,11 @@ export const fileUploadReducer = <Result = unknown, Metadata = undefined>(
139
139
  if (progress === undefined || previousFileState === undefined || previousFileState.readyState !== 'uploading') {
140
140
  continue
141
141
  }
142
- const roundedProgress = Math.floor(progress) // throttling
143
- if (roundedProgress === previousFileState.progress) {
142
+
143
+ if (previousFileState.progress && Math.abs(progress - previousFileState.progress) < 0.01) {
144
144
  continue
145
145
  }
146
+
146
147
  (newState ??= new Map(previousState.state)).set(fileId, {
147
148
  readyState: 'uploading',
148
149
  file: previousFileState.file,
@@ -150,7 +151,7 @@ export const fileUploadReducer = <Result = unknown, Metadata = undefined>(
150
151
  abortController: previousFileState.abortController,
151
152
  previewUrl: previousFileState.previewUrl,
152
153
  metadata: previousFileState.metadata,
153
- progress: roundedProgress,
154
+ progress: progress,
154
155
  })
155
156
  }
156
157
  break
@@ -12,4 +12,4 @@ export type {
12
12
  FailUpload,
13
13
  } from './FileUploadOperations'
14
14
  export type { FileWithMetadata } from './FileWithMetadata'
15
- export type { SingleFileUploadState } from './SingleFileUploadState'
15
+ export * from './SingleFileUploadState'
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxDevRuntime = require("react/jsx-dev-runtime");
4
- const react = require("react");
5
- const renderChildren = require("./renderChildren.cjs");
6
- const RenderElementFallback = require("./RenderElementFallback.cjs");
7
- const resolveRichTextElementMetadata = require("./resolveRichTextElementMetadata.cjs");
8
- const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
9
- function ElementRenderer({ element, children, options }) {
10
- const metadata = RichTextRenderMetadataContext.useRichTextRenderMetadata();
11
- const elementMetadata = resolveRichTextElementMetadata.resolveRichTextElementMetadata(element, metadata);
12
- const fallback = /* @__PURE__ */ jsxDevRuntime.jsxDEV(RenderElementFallback.RenderElementFallback, { element, options, children }, void 0, false, {
13
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/ElementRenderer.tsx",
14
- lineNumber: 56,
15
- columnNumber: 3
16
- }, this);
17
- return options.renderElement ? react.createElement(options.renderElement, {
18
- ...elementMetadata,
19
- element,
20
- fallback,
21
- children,
22
- renderChildren: renderChildren.renderChildren,
23
- renderChildrenOptions: options
24
- }) : fallback;
25
- }
26
- exports.ElementRenderer = ElementRenderer;
27
- //# sourceMappingURL=ElementRenderer.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ElementRenderer.cjs","sources":["../../../../src/components/RichTextRenderer/ElementRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport type { RenderChildrenOptions } from './renderChildren'\nimport { renderChildren } from './renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderElement<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n> = ComponentType<\n\t{\n\t\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\t\tchildren: ReactElement\n\n\t\tfallback: ReactElement\n\n\t\trenderChildren: (\n\t\t\tchildren:\n\t\t\t\t| CustomElements\n\t\t\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t\t\t| CustomLeaves\n\t\t\t\t| BuiltinLeaves\n\t\t\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\t\t\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n\t\t) => ReactElement\n\t\trenderChildrenOptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n\t} & RichTextElementMetadata<CustomElements, CustomLeaves, Reference>\n>\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tconst fallback = (\n\t\t<RenderElementFallback element={element as BuiltinElements} options={options}>\n\t\t\t{children}\n\t\t</RenderElementFallback>\n\t)\n\n\treturn options.renderElement\n\t\t? createElement(options.renderElement, {\n\t\t\t\t...elementMetadata,\n\t\t\t\telement,\n\t\t\t\tfallback,\n\t\t\t\tchildren,\n\t\t\t\trenderChildren,\n\t\t\t\trenderChildrenOptions: options,\n\t\t })\n\t\t: fallback\n}\n"],"names":["useRichTextRenderMetadata","resolveRichTextElementMetadata","jsxDEV","RenderElementFallback","createElement","renderChildren"],"mappings":";;;;;;;;AA+CO,SAAS,gBAGd,EAAE,SAAS,UAAU,WAA+D;AACrF,QAAM,WAAWA,8BAAAA;AACX,QAAA,kBAAkBC,+BAAAA,+BAA6D,SAAS,QAAQ;AAEtG,QAAM,WACLC,qCAACC,sBAAAA,uBAAsB,EAAA,SAAqC,SAC1D,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAA,IAAA;AAGD,SAAO,QAAQ,gBACZC,oBAAc,QAAQ,eAAe;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IAAA,gBACAC,eAAA;AAAA,IACA,uBAAuB;AAAA,EACtB,CAAA,IACD;AACJ;;"}
@@ -1,27 +0,0 @@
1
- import { jsxDEV } from "react/jsx-dev-runtime";
2
- import { createElement } from "react";
3
- import { renderChildren } from "./renderChildren.js";
4
- import { RenderElementFallback } from "./RenderElementFallback.js";
5
- import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
6
- import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
7
- function ElementRenderer({ element, children, options }) {
8
- const metadata = useRichTextRenderMetadata();
9
- const elementMetadata = resolveRichTextElementMetadata(element, metadata);
10
- const fallback = /* @__PURE__ */ jsxDEV(RenderElementFallback, { element, options, children }, void 0, false, {
11
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/ElementRenderer.tsx",
12
- lineNumber: 56,
13
- columnNumber: 3
14
- }, this);
15
- return options.renderElement ? createElement(options.renderElement, {
16
- ...elementMetadata,
17
- element,
18
- fallback,
19
- children,
20
- renderChildren,
21
- renderChildrenOptions: options
22
- }) : fallback;
23
- }
24
- export {
25
- ElementRenderer
26
- };
27
- //# sourceMappingURL=ElementRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ElementRenderer.js","sources":["../../../../src/components/RichTextRenderer/ElementRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport type { RenderChildrenOptions } from './renderChildren'\nimport { renderChildren } from './renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderElement<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n> = ComponentType<\n\t{\n\t\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\t\tchildren: ReactElement\n\n\t\tfallback: ReactElement\n\n\t\trenderChildren: (\n\t\t\tchildren:\n\t\t\t\t| CustomElements\n\t\t\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t\t\t| CustomLeaves\n\t\t\t\t| BuiltinLeaves\n\t\t\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\t\t\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n\t\t) => ReactElement\n\t\trenderChildrenOptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n\t} & RichTextElementMetadata<CustomElements, CustomLeaves, Reference>\n>\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tconst fallback = (\n\t\t<RenderElementFallback element={element as BuiltinElements} options={options}>\n\t\t\t{children}\n\t\t</RenderElementFallback>\n\t)\n\n\treturn options.renderElement\n\t\t? createElement(options.renderElement, {\n\t\t\t\t...elementMetadata,\n\t\t\t\telement,\n\t\t\t\tfallback,\n\t\t\t\tchildren,\n\t\t\t\trenderChildren,\n\t\t\t\trenderChildrenOptions: options,\n\t\t })\n\t\t: fallback\n}\n"],"names":[],"mappings":";;;;;;AA+CO,SAAS,gBAGd,EAAE,SAAS,UAAU,WAA+D;AACrF,QAAM,WAAW;AACX,QAAA,kBAAkB,+BAA6D,SAAS,QAAQ;AAEtG,QAAM,WACL,uBAAC,uBAAsB,EAAA,SAAqC,SAC1D,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAA,IAAA;AAGD,SAAO,QAAQ,gBACZ,cAAc,QAAQ,eAAe;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB;AAAA,EACtB,CAAA,IACD;AACJ;"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxDevRuntime = require("react/jsx-dev-runtime");
4
- const react = require("react");
5
- const RenderLeafFallback = require("./RenderLeafFallback.cjs");
6
- const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
7
- function LeafRenderer({
8
- leaf,
9
- renderLeaf
10
- }) {
11
- const formatVersion = RichTextRenderMetadataContext.useRichTextRenderMetadata().formatVersion;
12
- const fallback = /* @__PURE__ */ jsxDevRuntime.jsxDEV(RenderLeafFallback.RenderLeafFallback, { leaf }, void 0, false, {
13
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/LeafRenderer.tsx",
14
- lineNumber: 26,
15
- columnNumber: 19
16
- }, this);
17
- return renderLeaf ? react.createElement(
18
- renderLeaf,
19
- {
20
- formatVersion,
21
- leaf,
22
- fallback
23
- },
24
- leaf.text
25
- ) : fallback;
26
- }
27
- exports.LeafRenderer = LeafRenderer;
28
- //# sourceMappingURL=LeafRenderer.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeafRenderer.cjs","sources":["../../../../src/components/RichTextRenderer/LeafRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { RenderLeafFallback } from './RenderLeafFallback'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextLeafMetadata } from './RichTextLeafMetadata'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderLeaf<CustomLeaves extends RichTextLeaf> = ComponentType<\n\t{\n\t\tleaf: CustomLeaves | BuiltinLeaves\n\t\tfallback: ReactElement\n\t} & RichTextLeafMetadata\n>\n\nexport interface LeafRendererProps<CustomLeaves extends RichTextLeaf = never> {\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tleaf: CustomLeaves | BuiltinLeaves\n}\n\nexport function LeafRenderer<CustomLeaves extends RichTextLeaf = never>({\n\tleaf,\n\trenderLeaf,\n}: LeafRendererProps<CustomLeaves>) {\n\tconst formatVersion = useRichTextRenderMetadata().formatVersion\n\tconst fallback = <RenderLeafFallback leaf={leaf} />\n\n\treturn renderLeaf\n\t\t? createElement(\n\t\t\t\trenderLeaf,\n\t\t\t\t{\n\t\t\t\t\tformatVersion,\n\t\t\t\t\tleaf,\n\t\t\t\t\tfallback,\n\t\t\t\t},\n\t\t\t\tleaf.text,\n\t\t )\n\t\t: fallback\n}\n"],"names":["useRichTextRenderMetadata","jsxDEV","RenderLeafFallback","createElement"],"mappings":";;;;;;AAoBO,SAAS,aAAwD;AAAA,EACvE;AAAA,EACA;AACD,GAAoC;AAC7B,QAAA,gBAAgBA,wDAA4B,EAAA;AAC5C,QAAA,WAAYC,8BAAAA,OAAAC,mBAAA,oBAAA,EAAmB,QAApB,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAgC,GAAA,IAAA;AAEjD,SAAO,aACJC,MAAA;AAAA,IACA;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,KAAK;AAAA,EAEL,IAAA;AACJ;;"}
@@ -1,28 +0,0 @@
1
- import { jsxDEV } from "react/jsx-dev-runtime";
2
- import { createElement } from "react";
3
- import { RenderLeafFallback } from "./RenderLeafFallback.js";
4
- import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
5
- function LeafRenderer({
6
- leaf,
7
- renderLeaf
8
- }) {
9
- const formatVersion = useRichTextRenderMetadata().formatVersion;
10
- const fallback = /* @__PURE__ */ jsxDEV(RenderLeafFallback, { leaf }, void 0, false, {
11
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/LeafRenderer.tsx",
12
- lineNumber: 26,
13
- columnNumber: 19
14
- }, this);
15
- return renderLeaf ? createElement(
16
- renderLeaf,
17
- {
18
- formatVersion,
19
- leaf,
20
- fallback
21
- },
22
- leaf.text
23
- ) : fallback;
24
- }
25
- export {
26
- LeafRenderer
27
- };
28
- //# sourceMappingURL=LeafRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeafRenderer.js","sources":["../../../../src/components/RichTextRenderer/LeafRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { RenderLeafFallback } from './RenderLeafFallback'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextLeafMetadata } from './RichTextLeafMetadata'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderLeaf<CustomLeaves extends RichTextLeaf> = ComponentType<\n\t{\n\t\tleaf: CustomLeaves | BuiltinLeaves\n\t\tfallback: ReactElement\n\t} & RichTextLeafMetadata\n>\n\nexport interface LeafRendererProps<CustomLeaves extends RichTextLeaf = never> {\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tleaf: CustomLeaves | BuiltinLeaves\n}\n\nexport function LeafRenderer<CustomLeaves extends RichTextLeaf = never>({\n\tleaf,\n\trenderLeaf,\n}: LeafRendererProps<CustomLeaves>) {\n\tconst formatVersion = useRichTextRenderMetadata().formatVersion\n\tconst fallback = <RenderLeafFallback leaf={leaf} />\n\n\treturn renderLeaf\n\t\t? createElement(\n\t\t\t\trenderLeaf,\n\t\t\t\t{\n\t\t\t\t\tformatVersion,\n\t\t\t\t\tleaf,\n\t\t\t\t\tfallback,\n\t\t\t\t},\n\t\t\t\tleaf.text,\n\t\t )\n\t\t: fallback\n}\n"],"names":[],"mappings":";;;;AAoBO,SAAS,aAAwD;AAAA,EACvE;AAAA,EACA;AACD,GAAoC;AAC7B,QAAA,gBAAgB,0BAA4B,EAAA;AAC5C,QAAA,WAAY,uBAAA,oBAAA,EAAmB,QAApB,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAgC,GAAA,IAAA;AAEjD,SAAO,aACJ;AAAA,IACA;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,KAAK;AAAA,EAEL,IAAA;AACJ;"}
@@ -1,155 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxDevRuntime = require("react/jsx-dev-runtime");
4
- const react = require("react");
5
- const renderChildren = require("./renderChildren.cjs");
6
- const resolveRichTextElementMetadata = require("./resolveRichTextElementMetadata.cjs");
7
- const RichTextRendererError = require("./RichTextRendererError.cjs");
8
- const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
9
- const getElementDataAttributes = (element, attributeNamePrefix = "contember-") => {
10
- const { children, referenceId, ...extendedSpecifics } = element;
11
- return Object.fromEntries(
12
- Object.entries(extendedSpecifics).filter(([, value]) => {
13
- const t = typeof value;
14
- return t === "string" || t === "number" || t === "boolean";
15
- }).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value])
16
- );
17
- };
18
- function RenderElementFallback({ element, children, options }) {
19
- const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
20
- switch (element.type) {
21
- case "anchor":
22
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("a", { ...attributes, href: element.href, children }, void 0, false, {
23
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
24
- lineNumber: 49,
25
- columnNumber: 5
26
- }, this);
27
- case "heading":
28
- return react.createElement(`h${element.level}`, attributes, children);
29
- case "horizontalRule":
30
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("hr", { ...attributes }, void 0, false, {
31
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
32
- lineNumber: 56,
33
- columnNumber: 11
34
- }, this);
35
- case "listItem":
36
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("li", { ...attributes, children }, void 0, false, {
37
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
38
- lineNumber: 58,
39
- columnNumber: 11
40
- }, this);
41
- case "orderedList":
42
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("ol", { ...attributes, children }, void 0, false, {
43
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
44
- lineNumber: 60,
45
- columnNumber: 11
46
- }, this);
47
- case "paragraph":
48
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("p", { ...attributes, children }, void 0, false, {
49
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
50
- lineNumber: 62,
51
- columnNumber: 11
52
- }, this);
53
- case "reference": {
54
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV(ReferenceElementFallback, { element, children }, void 0, false, {
55
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
56
- lineNumber: 64,
57
- columnNumber: 11
58
- }, this);
59
- }
60
- case "scrollTarget":
61
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("span", { ...attributes, id: element.identifier, children }, void 0, false, {
62
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
63
- lineNumber: 68,
64
- columnNumber: 5
65
- }, this);
66
- case "table": {
67
- const firstRow = element.children[0];
68
- if (!firstRow || firstRow.headerScope !== "table") {
69
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("table", { ...attributes, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV("tbody", { children }, void 0, false, {
70
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
71
- lineNumber: 77,
72
- columnNumber: 7
73
- }, this) }, void 0, false, {
74
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
75
- lineNumber: 76,
76
- columnNumber: 6
77
- }, this);
78
- }
79
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("table", { ...attributes, children: [
80
- /* @__PURE__ */ jsxDevRuntime.jsxDEV("thead", { children: renderChildren.renderChildren([firstRow], options) }, void 0, false, {
81
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
82
- lineNumber: 83,
83
- columnNumber: 6
84
- }, this),
85
- /* @__PURE__ */ jsxDevRuntime.jsxDEV("tbody", { children: renderChildren.renderChildren(element.children.slice(1), options) }, void 0, false, {
86
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
87
- lineNumber: 84,
88
- columnNumber: 6
89
- }, this)
90
- ] }, void 0, true, {
91
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
92
- lineNumber: 82,
93
- columnNumber: 5
94
- }, this);
95
- }
96
- case "tableRow":
97
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("tr", { ...attributes, children }, void 0, false, {
98
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
99
- lineNumber: 89,
100
- columnNumber: 11
101
- }, this);
102
- case "tableCell": {
103
- if (element.headerScope) {
104
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("th", { ...attributes, scope: element.headerScope, children }, void 0, false, {
105
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
106
- lineNumber: 93,
107
- columnNumber: 6
108
- }, this);
109
- }
110
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("td", { ...attributes, children }, void 0, false, {
111
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
112
- lineNumber: 98,
113
- columnNumber: 11
114
- }, this);
115
- }
116
- case "unorderedList":
117
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV("ul", { ...attributes, children }, void 0, false, {
118
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
119
- lineNumber: 101,
120
- columnNumber: 11
121
- }, this);
122
- default: {
123
- {
124
- throw new RichTextRendererError.RichTextRendererError(
125
- `RichTextRenderer: unknown element of type '${element.type}'.`
126
- );
127
- }
128
- }
129
- }
130
- }
131
- function ReferenceElementFallback({ element, children }) {
132
- const metadata = RichTextRenderMetadataContext.useRichTextRenderMetadata();
133
- const elementMetadata = resolveRichTextElementMetadata.resolveRichTextElementMetadata(element, metadata);
134
- if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
135
- {
136
- throw new RichTextRendererError.RichTextRendererError(
137
- `RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`
138
- );
139
- }
140
- }
141
- return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: elementMetadata.referenceRenderer?.({
142
- referenceType: elementMetadata.referenceType,
143
- referenceRenderer: elementMetadata.referenceRenderer,
144
- reference: elementMetadata.reference,
145
- formatVersion: elementMetadata.formatVersion,
146
- element,
147
- children
148
- }) }, void 0, false, {
149
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
150
- lineNumber: 136,
151
- columnNumber: 3
152
- }, this);
153
- }
154
- exports.RenderElementFallback = RenderElementFallback;
155
- //# sourceMappingURL=RenderElementFallback.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderElementFallback.cjs","sources":["../../../../src/components/RichTextRenderer/RenderElementFallback.tsx"],"sourcesContent":["import { createElement, ReactElement } from 'react'\nimport type { BuiltinElements, RichTextReferenceElement, RichTextTableRowElement } from './BuiltinElements'\nimport { renderChildren, RenderChildrenOptions } from './renderChildren'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport interface RenderElementFallbackProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nconst getElementDataAttributes = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\telement: RichTextElement<CustomElements, CustomLeaves>,\n\tattributeNamePrefix: string = 'contember-',\n): {\n\t[dataAttribute: string]: string | number | boolean\n} => {\n\tconst { children, referenceId, ...extendedSpecifics } = element\n\n\treturn Object.fromEntries(\n\t\tObject.entries(extendedSpecifics)\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst t = typeof value\n\t\t\t\treturn t === 'string' || t === 'number' || t === 'boolean'\n\t\t\t})\n\t\t\t.map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value]),\n\t)\n}\n\nexport function RenderElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: RenderElementFallbackProps<CustomElements, CustomLeaves>) {\n\tconst attributes = getElementDataAttributes(element, options.attributeNamePrefix)\n\n\tswitch (element.type) {\n\t\tcase 'anchor':\n\t\t\treturn (\n\t\t\t\t<a {...attributes} href={element.href}>\n\t\t\t\t\t{children}\n\t\t\t\t</a>\n\t\t\t)\n\t\tcase 'heading':\n\t\t\treturn createElement(`h${element.level}`, attributes, children) // TODO numbered\n\t\tcase 'horizontalRule':\n\t\t\treturn <hr {...attributes} />\n\t\tcase 'listItem':\n\t\t\treturn <li {...attributes}>{children}</li>\n\t\tcase 'orderedList':\n\t\t\treturn <ol {...attributes}>{children}</ol>\n\t\tcase 'paragraph':\n\t\t\treturn <p {...attributes}>{children}</p>\n\t\tcase 'reference': {\n\t\t\treturn <ReferenceElementFallback element={element} children={children} />\n\t\t}\n\t\tcase 'scrollTarget':\n\t\t\treturn (\n\t\t\t\t<span {...attributes} id={element.identifier}>\n\t\t\t\t\t{children}\n\t\t\t\t</span>\n\t\t\t)\n\t\tcase 'table': {\n\t\t\tconst firstRow = element.children[0] as RichTextTableRowElement<CustomElements, CustomLeaves> | undefined\n\t\t\tif (!firstRow || firstRow.headerScope !== 'table') {\n\t\t\t\treturn (\n\t\t\t\t\t<table {...attributes}>\n\t\t\t\t\t\t<tbody>{children}</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<table {...attributes}>\n\t\t\t\t\t<thead>{renderChildren<CustomElements, CustomLeaves>([firstRow], options)}</thead>\n\t\t\t\t\t<tbody>{renderChildren<CustomElements, CustomLeaves>(element.children.slice(1) as any, options)}</tbody>\n\t\t\t\t</table>\n\t\t\t)\n\t\t}\n\t\tcase 'tableRow':\n\t\t\treturn <tr {...attributes}>{children}</tr>\n\t\tcase 'tableCell': {\n\t\t\tif (element.headerScope) {\n\t\t\t\treturn (\n\t\t\t\t\t<th {...attributes} scope={element.headerScope}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</th>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn <td {...attributes}>{children}</td>\n\t\t}\n\t\tcase 'unorderedList':\n\t\t\treturn <ul {...attributes}>{children}</ul>\n\t\tdefault: {\n\t\t\tif (import.meta.env.DEV) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`RichTextRenderer: unknown element of type '${(element as { type: string }).type}'.`,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\treturn children // At least render the text contents\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction ReferenceElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children }: { element: RichTextReferenceElement<CustomElements, CustomLeaves>; children: ReactElement }) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tif (\n\t\telementMetadata.referenceRenderer === undefined ||\n\t\telementMetadata.referenceType === undefined ||\n\t\telementMetadata.reference === undefined\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`,\n\t\t\t)\n\t\t} else {\n\t\t\treturn children // At least render the text contents\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{elementMetadata.referenceRenderer?.({\n\t\t\t\treferenceType: elementMetadata.referenceType,\n\t\t\t\treferenceRenderer: elementMetadata.referenceRenderer,\n\t\t\t\treference: elementMetadata.reference,\n\t\t\t\tformatVersion: elementMetadata.formatVersion,\n\t\t\t\telement,\n\t\t\t\tchildren,\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":["createElement","jsxDEV","renderChildren","RichTextRendererError","useRichTextRenderMetadata","resolveRichTextElementMetadata","Fragment"],"mappings":"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"}
@@ -1,155 +0,0 @@
1
- import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
2
- import { createElement } from "react";
3
- import { renderChildren } from "./renderChildren.js";
4
- import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
5
- import { RichTextRendererError } from "./RichTextRendererError.js";
6
- import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
7
- const getElementDataAttributes = (element, attributeNamePrefix = "contember-") => {
8
- const { children, referenceId, ...extendedSpecifics } = element;
9
- return Object.fromEntries(
10
- Object.entries(extendedSpecifics).filter(([, value]) => {
11
- const t = typeof value;
12
- return t === "string" || t === "number" || t === "boolean";
13
- }).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value])
14
- );
15
- };
16
- function RenderElementFallback({ element, children, options }) {
17
- const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
18
- switch (element.type) {
19
- case "anchor":
20
- return /* @__PURE__ */ jsxDEV("a", { ...attributes, href: element.href, children }, void 0, false, {
21
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
22
- lineNumber: 49,
23
- columnNumber: 5
24
- }, this);
25
- case "heading":
26
- return createElement(`h${element.level}`, attributes, children);
27
- case "horizontalRule":
28
- return /* @__PURE__ */ jsxDEV("hr", { ...attributes }, void 0, false, {
29
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
30
- lineNumber: 56,
31
- columnNumber: 11
32
- }, this);
33
- case "listItem":
34
- return /* @__PURE__ */ jsxDEV("li", { ...attributes, children }, void 0, false, {
35
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
36
- lineNumber: 58,
37
- columnNumber: 11
38
- }, this);
39
- case "orderedList":
40
- return /* @__PURE__ */ jsxDEV("ol", { ...attributes, children }, void 0, false, {
41
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
42
- lineNumber: 60,
43
- columnNumber: 11
44
- }, this);
45
- case "paragraph":
46
- return /* @__PURE__ */ jsxDEV("p", { ...attributes, children }, void 0, false, {
47
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
48
- lineNumber: 62,
49
- columnNumber: 11
50
- }, this);
51
- case "reference": {
52
- return /* @__PURE__ */ jsxDEV(ReferenceElementFallback, { element, children }, void 0, false, {
53
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
54
- lineNumber: 64,
55
- columnNumber: 11
56
- }, this);
57
- }
58
- case "scrollTarget":
59
- return /* @__PURE__ */ jsxDEV("span", { ...attributes, id: element.identifier, children }, void 0, false, {
60
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
61
- lineNumber: 68,
62
- columnNumber: 5
63
- }, this);
64
- case "table": {
65
- const firstRow = element.children[0];
66
- if (!firstRow || firstRow.headerScope !== "table") {
67
- return /* @__PURE__ */ jsxDEV("table", { ...attributes, children: /* @__PURE__ */ jsxDEV("tbody", { children }, void 0, false, {
68
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
69
- lineNumber: 77,
70
- columnNumber: 7
71
- }, this) }, void 0, false, {
72
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
73
- lineNumber: 76,
74
- columnNumber: 6
75
- }, this);
76
- }
77
- return /* @__PURE__ */ jsxDEV("table", { ...attributes, children: [
78
- /* @__PURE__ */ jsxDEV("thead", { children: renderChildren([firstRow], options) }, void 0, false, {
79
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
80
- lineNumber: 83,
81
- columnNumber: 6
82
- }, this),
83
- /* @__PURE__ */ jsxDEV("tbody", { children: renderChildren(element.children.slice(1), options) }, void 0, false, {
84
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
85
- lineNumber: 84,
86
- columnNumber: 6
87
- }, this)
88
- ] }, void 0, true, {
89
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
90
- lineNumber: 82,
91
- columnNumber: 5
92
- }, this);
93
- }
94
- case "tableRow":
95
- return /* @__PURE__ */ jsxDEV("tr", { ...attributes, children }, void 0, false, {
96
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
97
- lineNumber: 89,
98
- columnNumber: 11
99
- }, this);
100
- case "tableCell": {
101
- if (element.headerScope) {
102
- return /* @__PURE__ */ jsxDEV("th", { ...attributes, scope: element.headerScope, children }, void 0, false, {
103
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
104
- lineNumber: 93,
105
- columnNumber: 6
106
- }, this);
107
- }
108
- return /* @__PURE__ */ jsxDEV("td", { ...attributes, children }, void 0, false, {
109
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
110
- lineNumber: 98,
111
- columnNumber: 11
112
- }, this);
113
- }
114
- case "unorderedList":
115
- return /* @__PURE__ */ jsxDEV("ul", { ...attributes, children }, void 0, false, {
116
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
117
- lineNumber: 101,
118
- columnNumber: 11
119
- }, this);
120
- default: {
121
- {
122
- throw new RichTextRendererError(
123
- `RichTextRenderer: unknown element of type '${element.type}'.`
124
- );
125
- }
126
- }
127
- }
128
- }
129
- function ReferenceElementFallback({ element, children }) {
130
- const metadata = useRichTextRenderMetadata();
131
- const elementMetadata = resolveRichTextElementMetadata(element, metadata);
132
- if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
133
- {
134
- throw new RichTextRendererError(
135
- `RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`
136
- );
137
- }
138
- }
139
- return /* @__PURE__ */ jsxDEV(Fragment, { children: elementMetadata.referenceRenderer?.({
140
- referenceType: elementMetadata.referenceType,
141
- referenceRenderer: elementMetadata.referenceRenderer,
142
- reference: elementMetadata.reference,
143
- formatVersion: elementMetadata.formatVersion,
144
- element,
145
- children
146
- }) }, void 0, false, {
147
- fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
148
- lineNumber: 136,
149
- columnNumber: 3
150
- }, this);
151
- }
152
- export {
153
- RenderElementFallback
154
- };
155
- //# sourceMappingURL=RenderElementFallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderElementFallback.js","sources":["../../../../src/components/RichTextRenderer/RenderElementFallback.tsx"],"sourcesContent":["import { createElement, ReactElement } from 'react'\nimport type { BuiltinElements, RichTextReferenceElement, RichTextTableRowElement } from './BuiltinElements'\nimport { renderChildren, RenderChildrenOptions } from './renderChildren'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport interface RenderElementFallbackProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nconst getElementDataAttributes = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\telement: RichTextElement<CustomElements, CustomLeaves>,\n\tattributeNamePrefix: string = 'contember-',\n): {\n\t[dataAttribute: string]: string | number | boolean\n} => {\n\tconst { children, referenceId, ...extendedSpecifics } = element\n\n\treturn Object.fromEntries(\n\t\tObject.entries(extendedSpecifics)\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst t = typeof value\n\t\t\t\treturn t === 'string' || t === 'number' || t === 'boolean'\n\t\t\t})\n\t\t\t.map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value]),\n\t)\n}\n\nexport function RenderElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: RenderElementFallbackProps<CustomElements, CustomLeaves>) {\n\tconst attributes = getElementDataAttributes(element, options.attributeNamePrefix)\n\n\tswitch (element.type) {\n\t\tcase 'anchor':\n\t\t\treturn (\n\t\t\t\t<a {...attributes} href={element.href}>\n\t\t\t\t\t{children}\n\t\t\t\t</a>\n\t\t\t)\n\t\tcase 'heading':\n\t\t\treturn createElement(`h${element.level}`, attributes, children) // TODO numbered\n\t\tcase 'horizontalRule':\n\t\t\treturn <hr {...attributes} />\n\t\tcase 'listItem':\n\t\t\treturn <li {...attributes}>{children}</li>\n\t\tcase 'orderedList':\n\t\t\treturn <ol {...attributes}>{children}</ol>\n\t\tcase 'paragraph':\n\t\t\treturn <p {...attributes}>{children}</p>\n\t\tcase 'reference': {\n\t\t\treturn <ReferenceElementFallback element={element} children={children} />\n\t\t}\n\t\tcase 'scrollTarget':\n\t\t\treturn (\n\t\t\t\t<span {...attributes} id={element.identifier}>\n\t\t\t\t\t{children}\n\t\t\t\t</span>\n\t\t\t)\n\t\tcase 'table': {\n\t\t\tconst firstRow = element.children[0] as RichTextTableRowElement<CustomElements, CustomLeaves> | undefined\n\t\t\tif (!firstRow || firstRow.headerScope !== 'table') {\n\t\t\t\treturn (\n\t\t\t\t\t<table {...attributes}>\n\t\t\t\t\t\t<tbody>{children}</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<table {...attributes}>\n\t\t\t\t\t<thead>{renderChildren<CustomElements, CustomLeaves>([firstRow], options)}</thead>\n\t\t\t\t\t<tbody>{renderChildren<CustomElements, CustomLeaves>(element.children.slice(1) as any, options)}</tbody>\n\t\t\t\t</table>\n\t\t\t)\n\t\t}\n\t\tcase 'tableRow':\n\t\t\treturn <tr {...attributes}>{children}</tr>\n\t\tcase 'tableCell': {\n\t\t\tif (element.headerScope) {\n\t\t\t\treturn (\n\t\t\t\t\t<th {...attributes} scope={element.headerScope}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</th>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn <td {...attributes}>{children}</td>\n\t\t}\n\t\tcase 'unorderedList':\n\t\t\treturn <ul {...attributes}>{children}</ul>\n\t\tdefault: {\n\t\t\tif (import.meta.env.DEV) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`RichTextRenderer: unknown element of type '${(element as { type: string }).type}'.`,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\treturn children // At least render the text contents\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction ReferenceElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children }: { element: RichTextReferenceElement<CustomElements, CustomLeaves>; children: ReactElement }) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tif (\n\t\telementMetadata.referenceRenderer === undefined ||\n\t\telementMetadata.referenceType === undefined ||\n\t\telementMetadata.reference === undefined\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`,\n\t\t\t)\n\t\t} else {\n\t\t\treturn children // At least render the text contents\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{elementMetadata.referenceRenderer?.({\n\t\t\t\treferenceType: elementMetadata.referenceType,\n\t\t\t\treferenceRenderer: elementMetadata.referenceRenderer,\n\t\t\t\treference: elementMetadata.reference,\n\t\t\t\tformatVersion: elementMetadata.formatVersion,\n\t\t\t\telement,\n\t\t\t\tchildren,\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":"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"}