@x15ventures/x15-ui-library 3.19.0 → 3.20.0

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 (484) hide show
  1. package/THIRD_PARTY_LICENSES.md +11182 -0
  2. package/dist/cjs/autoGenerated/libraryThemes.js +12 -12
  3. package/dist/cjs/autoGenerated/libraryThemes.js.map +1 -1
  4. package/dist/cjs/autoGenerated/libraryThemes.json +12 -12
  5. package/dist/cjs/components/design/banners/pageBanner/PageBanner.js +27 -12
  6. package/dist/cjs/components/design/banners/pageBanner/PageBanner.js.map +1 -1
  7. package/dist/cjs/components/design/card/cardHeader/CardHeaderItem.js +22 -15
  8. package/dist/cjs/components/design/card/cardHeader/CardHeaderItem.js.map +1 -1
  9. package/dist/cjs/components/design/dialog/dialog.css +4 -0
  10. package/dist/cjs/components/design/logos/LogoLink.js +2 -1
  11. package/dist/cjs/components/design/logos/LogoLink.js.map +1 -1
  12. package/dist/cjs/components/design/logos/VentureLogo.js +2 -1
  13. package/dist/cjs/components/design/logos/VentureLogo.js.map +1 -1
  14. package/dist/cjs/components/design/revealMore/RevealMoreBelow.js +2 -2
  15. package/dist/cjs/components/design/revealMore/RevealMoreBelow.js.map +1 -1
  16. package/dist/cjs/components/design/skeleton/Skeleton.js +15 -5
  17. package/dist/cjs/components/design/skeleton/Skeleton.js.map +1 -1
  18. package/dist/cjs/components/design/themeLoader/ThemeLoader.js +1 -1
  19. package/dist/cjs/components/design/themeLoader/ThemeLoader.js.map +1 -1
  20. package/dist/cjs/components/form/buttons/SimpleButton.js +3 -1
  21. package/dist/cjs/components/form/buttons/SimpleButton.js.map +1 -1
  22. package/dist/cjs/components/form/buttons/button.interface.js.map +1 -1
  23. package/dist/cjs/components/form/buttons/userPicButton/UserPicButton.js +5 -3
  24. package/dist/cjs/components/form/buttons/userPicButton/UserPicButton.js.map +1 -1
  25. package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +64 -19
  26. package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
  27. package/dist/cjs/components/navigation/link/Link.js +2 -1
  28. package/dist/cjs/components/navigation/link/Link.js.map +1 -1
  29. package/dist/cjs/components/testing/devToolbar/DevToolbar.js +5 -3
  30. package/dist/cjs/components/testing/devToolbar/DevToolbar.js.map +1 -1
  31. package/dist/cjs/constants/fileUploadTypes.js +9 -4
  32. package/dist/cjs/constants/fileUploadTypes.js.map +1 -1
  33. package/dist/cjs/helpers/dateHelpers.js +34 -23
  34. package/dist/cjs/helpers/dateHelpers.js.map +1 -1
  35. package/dist/cjs/helpers/fileHelpers.js +58 -0
  36. package/dist/cjs/helpers/fileHelpers.js.map +1 -0
  37. package/dist/cjs/helpers/index.js +44 -0
  38. package/dist/cjs/helpers/index.js.map +1 -1
  39. package/dist/cjs/helpers/interactionsHelper.js +8 -1
  40. package/dist/cjs/helpers/interactionsHelper.js.map +1 -1
  41. package/dist/cjs/helpers/objectHelpers.js +23 -9
  42. package/dist/cjs/helpers/objectHelpers.js.map +1 -1
  43. package/dist/cjs/helpers/stringHelpers.js +61 -5
  44. package/dist/cjs/helpers/stringHelpers.js.map +1 -1
  45. package/dist/cjs/helpers/urlHelpers.js +48 -0
  46. package/dist/cjs/helpers/urlHelpers.js.map +1 -0
  47. package/dist/cjs/index.js +191 -0
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/cjs/package.json +3 -305
  50. package/dist/cjs/styles/index.css +18 -0
  51. package/dist/cjs/styles/variables/cssVars/_designVariables.css +18 -0
  52. package/dist/cjs/widgets/documentComments/DocumentComments.js +305 -0
  53. package/dist/cjs/widgets/documentComments/DocumentComments.js.map +1 -0
  54. package/dist/cjs/widgets/documentComments/_documentCommentsVariables.css +0 -0
  55. package/dist/cjs/widgets/documentComments/documentComments.css +107 -0
  56. package/dist/cjs/widgets/documentComments/documentComments.interfaces.js +6 -0
  57. package/dist/cjs/widgets/documentComments/documentComments.interfaces.js.map +1 -0
  58. package/dist/cjs/widgets/documentComments/index.js +19 -0
  59. package/dist/cjs/widgets/documentComments/index.js.map +1 -0
  60. package/dist/cjs/widgets/documentComparer/DocumentComparer.js +309 -0
  61. package/dist/cjs/widgets/documentComparer/DocumentComparer.js.map +1 -0
  62. package/dist/cjs/widgets/documentComparer/_documentComparerVariables.css +0 -0
  63. package/dist/cjs/widgets/documentComparer/documentComparer.css +117 -0
  64. package/dist/cjs/widgets/documentComparer/documentComparer.interfaces.js +6 -0
  65. package/dist/cjs/widgets/documentComparer/documentComparer.interfaces.js.map +1 -0
  66. package/dist/cjs/widgets/documentComparer/index.js +19 -0
  67. package/dist/cjs/widgets/documentComparer/index.js.map +1 -0
  68. package/dist/cjs/widgets/documentEditor/DocumentEditor.js +142 -0
  69. package/dist/cjs/widgets/documentEditor/DocumentEditor.js.map +1 -0
  70. package/dist/cjs/widgets/documentEditor/_documentEditorVariables.css +0 -0
  71. package/dist/cjs/widgets/documentEditor/documentEditor.css +33 -0
  72. package/dist/cjs/widgets/documentEditor/documentEditor.interfaces.js +6 -0
  73. package/dist/cjs/widgets/documentEditor/documentEditor.interfaces.js.map +1 -0
  74. package/dist/cjs/widgets/documentEditor/index.js +19 -0
  75. package/dist/cjs/widgets/documentEditor/index.js.map +1 -0
  76. package/dist/cjs/widgets/documentViewer/DocumentViewer.js +206 -0
  77. package/dist/cjs/widgets/documentViewer/DocumentViewer.js.map +1 -0
  78. package/dist/cjs/widgets/documentViewer/_documentViewerVariables.css +0 -0
  79. package/dist/cjs/widgets/documentViewer/documentViewer.css +82 -0
  80. package/dist/cjs/widgets/documentViewer/documentViewer.interfaces.js +6 -0
  81. package/dist/cjs/widgets/documentViewer/documentViewer.interfaces.js.map +1 -0
  82. package/dist/cjs/widgets/documentViewer/index.js +19 -0
  83. package/dist/cjs/widgets/documentViewer/index.js.map +1 -0
  84. package/dist/cjs/widgets/index.js +126 -0
  85. package/dist/cjs/widgets/index.js.map +1 -1
  86. package/dist/cjs/widgets/shared/documents/ToggleGroup.js +32 -0
  87. package/dist/cjs/widgets/shared/documents/ToggleGroup.js.map +1 -0
  88. package/dist/cjs/widgets/shared/documents/_documentVariables.css +0 -0
  89. package/dist/cjs/widgets/shared/documents/annotations/AnnotationLayer.js +279 -0
  90. package/dist/cjs/widgets/shared/documents/annotations/AnnotationLayer.js.map +1 -0
  91. package/dist/cjs/widgets/shared/documents/annotations/_annotationLayerVariables.css +0 -0
  92. package/dist/cjs/widgets/shared/documents/annotations/annotationLayer.css +65 -0
  93. package/dist/cjs/widgets/shared/documents/annotations/annotations.interfaces.js +21 -0
  94. package/dist/cjs/widgets/shared/documents/annotations/annotations.interfaces.js.map +1 -0
  95. package/dist/cjs/widgets/shared/documents/annotations/highlightRegistry.js +67 -0
  96. package/dist/cjs/widgets/shared/documents/annotations/highlightRegistry.js.map +1 -0
  97. package/dist/cjs/widgets/shared/documents/annotations/index.js +39 -0
  98. package/dist/cjs/widgets/shared/documents/annotations/index.js.map +1 -0
  99. package/dist/cjs/widgets/shared/documents/annotations/textIndex.js +112 -0
  100. package/dist/cjs/widgets/shared/documents/annotations/textIndex.js.map +1 -0
  101. package/dist/cjs/widgets/shared/documents/annotations/textQuoteAnchor.js +160 -0
  102. package/dist/cjs/widgets/shared/documents/annotations/textQuoteAnchor.js.map +1 -0
  103. package/dist/cjs/widgets/shared/documents/documentHelpers.js +186 -0
  104. package/dist/cjs/widgets/shared/documents/documentHelpers.js.map +1 -0
  105. package/dist/cjs/widgets/shared/documents/documents.interfaces.js +6 -0
  106. package/dist/cjs/widgets/shared/documents/documents.interfaces.js.map +1 -0
  107. package/dist/cjs/widgets/shared/documents/engines/documentDiff/DocumentDiff.js +73 -0
  108. package/dist/cjs/widgets/shared/documents/engines/documentDiff/DocumentDiff.js.map +1 -0
  109. package/dist/cjs/widgets/shared/documents/engines/documentDiff/_documentDiffVariables.css +0 -0
  110. package/dist/cjs/widgets/shared/documents/engines/documentDiff/buildDocumentDiff.js +114 -0
  111. package/dist/cjs/widgets/shared/documents/engines/documentDiff/buildDocumentDiff.js.map +1 -0
  112. package/dist/cjs/widgets/shared/documents/engines/documentDiff/documentDiff.css +69 -0
  113. package/dist/cjs/widgets/shared/documents/engines/documentDiff/documentDiff.interfaces.js +6 -0
  114. package/dist/cjs/widgets/shared/documents/engines/documentDiff/documentDiff.interfaces.js.map +1 -0
  115. package/dist/cjs/widgets/shared/documents/engines/lazyEngines.js +19 -0
  116. package/dist/cjs/widgets/shared/documents/engines/lazyEngines.js.map +1 -0
  117. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/MarkdownEditorEngine.js +200 -0
  118. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/MarkdownEditorEngine.js.map +1 -0
  119. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/_markdownEditorEngineVariables.css +0 -0
  120. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.css +50 -0
  121. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.interfaces.js +6 -0
  122. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.interfaces.js.map +1 -0
  123. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/markdownTextIndex.js +179 -0
  124. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/markdownTextIndex.js.map +1 -0
  125. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/sanitizeForMdx.js +278 -0
  126. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/sanitizeForMdx.js.map +1 -0
  127. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/sourceAnnotations.js +208 -0
  128. package/dist/cjs/widgets/shared/documents/engines/markdownEditor/sourceAnnotations.js.map +1 -0
  129. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/MarkdownRenderer.js +85 -0
  130. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/MarkdownRenderer.js.map +1 -0
  131. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/_markdownRendererVariables.css +0 -0
  132. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/markdownRenderer.css +78 -0
  133. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/index.js +64 -0
  134. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/index.js.map +1 -0
  135. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/markdownNode.interfaces.js +6 -0
  136. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/markdownNode.interfaces.js.map +1 -0
  137. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/rehypeTableCleanup.js +71 -0
  138. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/rehypeTableCleanup.js.map +1 -0
  139. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/remarkPlugins.js +192 -0
  140. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/remarkPlugins.js.map +1 -0
  141. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/remarkSafeTables.js +86 -0
  142. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/remarkSafeTables.js.map +1 -0
  143. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/tableHelpers.js +38 -0
  144. package/dist/cjs/widgets/shared/documents/engines/markdownRenderer/plugins/tableHelpers.js.map +1 -0
  145. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/WordRenderer.js +49 -0
  146. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/WordRenderer.js.map +1 -0
  147. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/renderWordDocument.js +214 -0
  148. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/renderWordDocument.js.map +1 -0
  149. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/wordPreviewNumbering.js +112 -0
  150. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/wordPreviewNumbering.js.map +1 -0
  151. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/wordXml.js +68 -0
  152. package/dist/cjs/widgets/shared/documents/engines/wordRenderer/wordXml.js.map +1 -0
  153. package/dist/cjs/widgets/shared/documents/index.js +50 -0
  154. package/dist/cjs/widgets/shared/documents/index.js.map +1 -0
  155. package/dist/cjs/widgets/shared/documents/toggleGroup.css +8 -0
  156. package/dist/cjs/widgets/shared/documents/useDocumentContent.js +222 -0
  157. package/dist/cjs/widgets/shared/documents/useDocumentContent.js.map +1 -0
  158. package/dist/components/design/banners/pageBanner/PageBanner.d.ts.map +1 -1
  159. package/dist/components/design/card/cardHeader/CardHeaderItem.d.ts.map +1 -1
  160. package/dist/components/design/logos/LogoLink.d.ts.map +1 -1
  161. package/dist/components/design/logos/VentureLogo.d.ts.map +1 -1
  162. package/dist/components/design/skeleton/Skeleton.d.ts +1 -1
  163. package/dist/components/design/skeleton/Skeleton.d.ts.map +1 -1
  164. package/dist/components/design/themeLoader/ThemeLoader.d.ts.map +1 -1
  165. package/dist/components/form/buttons/SimpleButton.d.ts.map +1 -1
  166. package/dist/components/form/buttons/button.interface.d.ts +1 -0
  167. package/dist/components/form/buttons/button.interface.d.ts.map +1 -1
  168. package/dist/components/form/buttons/userPicButton/UserPicButton.d.ts.map +1 -1
  169. package/dist/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.d.ts.map +1 -1
  170. package/dist/components/navigation/link/Link.d.ts.map +1 -1
  171. package/dist/components/testing/devToolbar/DevToolbar.d.ts.map +1 -1
  172. package/dist/constants/fileUploadTypes.d.ts.map +1 -1
  173. package/dist/esm/autoGenerated/libraryThemes.js +12 -12
  174. package/dist/esm/autoGenerated/libraryThemes.js.map +1 -1
  175. package/dist/esm/autoGenerated/libraryThemes.json +12 -12
  176. package/dist/esm/components/design/banners/pageBanner/PageBanner.js +27 -12
  177. package/dist/esm/components/design/banners/pageBanner/PageBanner.js.map +1 -1
  178. package/dist/esm/components/design/card/cardHeader/CardHeaderItem.js +22 -15
  179. package/dist/esm/components/design/card/cardHeader/CardHeaderItem.js.map +1 -1
  180. package/dist/esm/components/design/dialog/dialog.css +4 -0
  181. package/dist/esm/components/design/logos/LogoLink.js +2 -1
  182. package/dist/esm/components/design/logos/LogoLink.js.map +1 -1
  183. package/dist/esm/components/design/logos/VentureLogo.js +2 -1
  184. package/dist/esm/components/design/logos/VentureLogo.js.map +1 -1
  185. package/dist/esm/components/design/revealMore/RevealMoreBelow.js +1 -1
  186. package/dist/esm/components/design/revealMore/RevealMoreBelow.js.map +1 -1
  187. package/dist/esm/components/design/skeleton/Skeleton.js +15 -5
  188. package/dist/esm/components/design/skeleton/Skeleton.js.map +1 -1
  189. package/dist/esm/components/design/themeLoader/ThemeLoader.js +1 -1
  190. package/dist/esm/components/design/themeLoader/ThemeLoader.js.map +1 -1
  191. package/dist/esm/components/form/buttons/SimpleButton.js +3 -1
  192. package/dist/esm/components/form/buttons/SimpleButton.js.map +1 -1
  193. package/dist/esm/components/form/buttons/button.interface.js.map +1 -1
  194. package/dist/esm/components/form/buttons/userPicButton/UserPicButton.js +5 -3
  195. package/dist/esm/components/form/buttons/userPicButton/UserPicButton.js.map +1 -1
  196. package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +65 -19
  197. package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
  198. package/dist/esm/components/navigation/link/Link.js +2 -1
  199. package/dist/esm/components/navigation/link/Link.js.map +1 -1
  200. package/dist/esm/components/testing/devToolbar/DevToolbar.js +5 -3
  201. package/dist/esm/components/testing/devToolbar/DevToolbar.js.map +1 -1
  202. package/dist/esm/constants/fileUploadTypes.js +9 -4
  203. package/dist/esm/constants/fileUploadTypes.js.map +1 -1
  204. package/dist/esm/helpers/dateHelpers.js +34 -23
  205. package/dist/esm/helpers/dateHelpers.js.map +1 -1
  206. package/dist/esm/helpers/fileHelpers.js +48 -0
  207. package/dist/esm/helpers/fileHelpers.js.map +1 -0
  208. package/dist/esm/helpers/index.js +2 -0
  209. package/dist/esm/helpers/index.js.map +1 -1
  210. package/dist/esm/helpers/interactionsHelper.js +5 -0
  211. package/dist/esm/helpers/interactionsHelper.js.map +1 -1
  212. package/dist/esm/helpers/objectHelpers.js +23 -9
  213. package/dist/esm/helpers/objectHelpers.js.map +1 -1
  214. package/dist/esm/helpers/stringHelpers.js +61 -5
  215. package/dist/esm/helpers/stringHelpers.js.map +1 -1
  216. package/dist/esm/helpers/urlHelpers.js +40 -0
  217. package/dist/esm/helpers/urlHelpers.js.map +1 -0
  218. package/dist/esm/index.js +3 -1
  219. package/dist/esm/index.js.map +1 -1
  220. package/dist/esm/package.json +2 -304
  221. package/dist/esm/styles/index.css +18 -0
  222. package/dist/esm/styles/variables/cssVars/_designVariables.css +18 -0
  223. package/dist/esm/widgets/documentComments/DocumentComments.js +298 -0
  224. package/dist/esm/widgets/documentComments/DocumentComments.js.map +1 -0
  225. package/dist/esm/widgets/documentComments/_documentCommentsVariables.css +0 -0
  226. package/dist/esm/widgets/documentComments/documentComments.css +107 -0
  227. package/dist/esm/widgets/documentComments/documentComments.interfaces.js +2 -0
  228. package/dist/esm/widgets/documentComments/documentComments.interfaces.js.map +1 -0
  229. package/dist/esm/widgets/documentComments/index.js +2 -0
  230. package/dist/esm/widgets/documentComments/index.js.map +1 -0
  231. package/dist/esm/widgets/documentComparer/DocumentComparer.js +301 -0
  232. package/dist/esm/widgets/documentComparer/DocumentComparer.js.map +1 -0
  233. package/dist/esm/widgets/documentComparer/_documentComparerVariables.css +0 -0
  234. package/dist/esm/widgets/documentComparer/documentComparer.css +117 -0
  235. package/dist/esm/widgets/documentComparer/documentComparer.interfaces.js +2 -0
  236. package/dist/esm/widgets/documentComparer/documentComparer.interfaces.js.map +1 -0
  237. package/dist/esm/widgets/documentComparer/index.js +2 -0
  238. package/dist/esm/widgets/documentComparer/index.js.map +1 -0
  239. package/dist/esm/widgets/documentEditor/DocumentEditor.js +135 -0
  240. package/dist/esm/widgets/documentEditor/DocumentEditor.js.map +1 -0
  241. package/dist/esm/widgets/documentEditor/_documentEditorVariables.css +0 -0
  242. package/dist/esm/widgets/documentEditor/documentEditor.css +33 -0
  243. package/dist/esm/widgets/documentEditor/documentEditor.interfaces.js +2 -0
  244. package/dist/esm/widgets/documentEditor/documentEditor.interfaces.js.map +1 -0
  245. package/dist/esm/widgets/documentEditor/index.js +2 -0
  246. package/dist/esm/widgets/documentEditor/index.js.map +1 -0
  247. package/dist/esm/widgets/documentViewer/DocumentViewer.js +198 -0
  248. package/dist/esm/widgets/documentViewer/DocumentViewer.js.map +1 -0
  249. package/dist/esm/widgets/documentViewer/_documentViewerVariables.css +0 -0
  250. package/dist/esm/widgets/documentViewer/documentViewer.css +82 -0
  251. package/dist/esm/widgets/documentViewer/documentViewer.interfaces.js +2 -0
  252. package/dist/esm/widgets/documentViewer/documentViewer.interfaces.js.map +1 -0
  253. package/dist/esm/widgets/documentViewer/index.js +2 -0
  254. package/dist/esm/widgets/documentViewer/index.js.map +1 -0
  255. package/dist/esm/widgets/index.js +6 -0
  256. package/dist/esm/widgets/index.js.map +1 -1
  257. package/dist/esm/widgets/shared/documents/ToggleGroup.js +24 -0
  258. package/dist/esm/widgets/shared/documents/ToggleGroup.js.map +1 -0
  259. package/dist/esm/widgets/shared/documents/_documentVariables.css +0 -0
  260. package/dist/esm/widgets/shared/documents/annotations/AnnotationLayer.js +273 -0
  261. package/dist/esm/widgets/shared/documents/annotations/AnnotationLayer.js.map +1 -0
  262. package/dist/esm/widgets/shared/documents/annotations/_annotationLayerVariables.css +0 -0
  263. package/dist/esm/widgets/shared/documents/annotations/annotationLayer.css +65 -0
  264. package/dist/esm/widgets/shared/documents/annotations/annotations.interfaces.js +14 -0
  265. package/dist/esm/widgets/shared/documents/annotations/annotations.interfaces.js.map +1 -0
  266. package/dist/esm/widgets/shared/documents/annotations/highlightRegistry.js +58 -0
  267. package/dist/esm/widgets/shared/documents/annotations/highlightRegistry.js.map +1 -0
  268. package/dist/esm/widgets/shared/documents/annotations/index.js +4 -0
  269. package/dist/esm/widgets/shared/documents/annotations/index.js.map +1 -0
  270. package/dist/esm/widgets/shared/documents/annotations/textIndex.js +103 -0
  271. package/dist/esm/widgets/shared/documents/annotations/textIndex.js.map +1 -0
  272. package/dist/esm/widgets/shared/documents/annotations/textQuoteAnchor.js +150 -0
  273. package/dist/esm/widgets/shared/documents/annotations/textQuoteAnchor.js.map +1 -0
  274. package/dist/esm/widgets/shared/documents/documentHelpers.js +168 -0
  275. package/dist/esm/widgets/shared/documents/documentHelpers.js.map +1 -0
  276. package/dist/esm/widgets/shared/documents/documents.interfaces.js +2 -0
  277. package/dist/esm/widgets/shared/documents/documents.interfaces.js.map +1 -0
  278. package/dist/esm/widgets/shared/documents/engines/documentDiff/DocumentDiff.js +65 -0
  279. package/dist/esm/widgets/shared/documents/engines/documentDiff/DocumentDiff.js.map +1 -0
  280. package/dist/esm/widgets/shared/documents/engines/documentDiff/_documentDiffVariables.css +0 -0
  281. package/dist/esm/widgets/shared/documents/engines/documentDiff/buildDocumentDiff.js +102 -0
  282. package/dist/esm/widgets/shared/documents/engines/documentDiff/buildDocumentDiff.js.map +1 -0
  283. package/dist/esm/widgets/shared/documents/engines/documentDiff/documentDiff.css +69 -0
  284. package/dist/esm/widgets/shared/documents/engines/documentDiff/documentDiff.interfaces.js +2 -0
  285. package/dist/esm/widgets/shared/documents/engines/documentDiff/documentDiff.interfaces.js.map +1 -0
  286. package/dist/esm/widgets/shared/documents/engines/lazyEngines.js +13 -0
  287. package/dist/esm/widgets/shared/documents/engines/lazyEngines.js.map +1 -0
  288. package/dist/esm/widgets/shared/documents/engines/markdownEditor/MarkdownEditorEngine.js +191 -0
  289. package/dist/esm/widgets/shared/documents/engines/markdownEditor/MarkdownEditorEngine.js.map +1 -0
  290. package/dist/esm/widgets/shared/documents/engines/markdownEditor/_markdownEditorEngineVariables.css +0 -0
  291. package/dist/esm/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.css +50 -0
  292. package/dist/esm/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.interfaces.js +2 -0
  293. package/dist/esm/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.interfaces.js.map +1 -0
  294. package/dist/esm/widgets/shared/documents/engines/markdownEditor/markdownTextIndex.js +170 -0
  295. package/dist/esm/widgets/shared/documents/engines/markdownEditor/markdownTextIndex.js.map +1 -0
  296. package/dist/esm/widgets/shared/documents/engines/markdownEditor/sanitizeForMdx.js +270 -0
  297. package/dist/esm/widgets/shared/documents/engines/markdownEditor/sanitizeForMdx.js.map +1 -0
  298. package/dist/esm/widgets/shared/documents/engines/markdownEditor/sourceAnnotations.js +198 -0
  299. package/dist/esm/widgets/shared/documents/engines/markdownEditor/sourceAnnotations.js.map +1 -0
  300. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/MarkdownRenderer.js +76 -0
  301. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/MarkdownRenderer.js.map +1 -0
  302. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/_markdownRendererVariables.css +0 -0
  303. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/markdownRenderer.css +78 -0
  304. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/index.js +5 -0
  305. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/index.js.map +1 -0
  306. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/markdownNode.interfaces.js +2 -0
  307. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/markdownNode.interfaces.js.map +1 -0
  308. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/rehypeTableCleanup.js +64 -0
  309. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/rehypeTableCleanup.js.map +1 -0
  310. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/remarkPlugins.js +182 -0
  311. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/remarkPlugins.js.map +1 -0
  312. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/remarkSafeTables.js +78 -0
  313. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/remarkSafeTables.js.map +1 -0
  314. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/tableHelpers.js +30 -0
  315. package/dist/esm/widgets/shared/documents/engines/markdownRenderer/plugins/tableHelpers.js.map +1 -0
  316. package/dist/esm/widgets/shared/documents/engines/wordRenderer/WordRenderer.js +41 -0
  317. package/dist/esm/widgets/shared/documents/engines/wordRenderer/WordRenderer.js.map +1 -0
  318. package/dist/esm/widgets/shared/documents/engines/wordRenderer/renderWordDocument.js +207 -0
  319. package/dist/esm/widgets/shared/documents/engines/wordRenderer/renderWordDocument.js.map +1 -0
  320. package/dist/esm/widgets/shared/documents/engines/wordRenderer/wordPreviewNumbering.js +105 -0
  321. package/dist/esm/widgets/shared/documents/engines/wordRenderer/wordPreviewNumbering.js.map +1 -0
  322. package/dist/esm/widgets/shared/documents/engines/wordRenderer/wordXml.js +57 -0
  323. package/dist/esm/widgets/shared/documents/engines/wordRenderer/wordXml.js.map +1 -0
  324. package/dist/esm/widgets/shared/documents/index.js +3 -0
  325. package/dist/esm/widgets/shared/documents/index.js.map +1 -0
  326. package/dist/esm/widgets/shared/documents/toggleGroup.css +8 -0
  327. package/dist/esm/widgets/shared/documents/useDocumentContent.js +215 -0
  328. package/dist/esm/widgets/shared/documents/useDocumentContent.js.map +1 -0
  329. package/dist/helpers/dateHelpers.d.ts.map +1 -1
  330. package/dist/helpers/fileHelpers.d.ts +5 -0
  331. package/dist/helpers/fileHelpers.d.ts.map +1 -0
  332. package/dist/helpers/index.d.ts +3 -0
  333. package/dist/helpers/index.d.ts.map +1 -1
  334. package/dist/helpers/interactionsHelper.d.ts +2 -0
  335. package/dist/helpers/interactionsHelper.d.ts.map +1 -1
  336. package/dist/helpers/objectHelpers.d.ts.map +1 -1
  337. package/dist/helpers/stringHelpers.d.ts.map +1 -1
  338. package/dist/helpers/urlHelpers.d.ts +3 -0
  339. package/dist/helpers/urlHelpers.d.ts.map +1 -0
  340. package/dist/index.d.ts +5 -2
  341. package/dist/index.d.ts.map +1 -1
  342. package/dist/package.json +42 -28
  343. package/dist/widgets/documentComments/DocumentComments.d.ts +7 -0
  344. package/dist/widgets/documentComments/DocumentComments.d.ts.map +1 -0
  345. package/dist/widgets/documentComments/documentComments.interfaces.d.ts +57 -0
  346. package/dist/widgets/documentComments/documentComments.interfaces.d.ts.map +1 -0
  347. package/dist/widgets/documentComments/index.d.ts +3 -0
  348. package/dist/widgets/documentComments/index.d.ts.map +1 -0
  349. package/dist/widgets/documentComparer/DocumentComparer.d.ts +7 -0
  350. package/dist/widgets/documentComparer/DocumentComparer.d.ts.map +1 -0
  351. package/dist/widgets/documentComparer/documentComparer.interfaces.d.ts +78 -0
  352. package/dist/widgets/documentComparer/documentComparer.interfaces.d.ts.map +1 -0
  353. package/dist/widgets/documentComparer/index.d.ts +3 -0
  354. package/dist/widgets/documentComparer/index.d.ts.map +1 -0
  355. package/dist/widgets/documentEditor/DocumentEditor.d.ts +7 -0
  356. package/dist/widgets/documentEditor/DocumentEditor.d.ts.map +1 -0
  357. package/dist/widgets/documentEditor/documentEditor.interfaces.d.ts +40 -0
  358. package/dist/widgets/documentEditor/documentEditor.interfaces.d.ts.map +1 -0
  359. package/dist/widgets/documentEditor/index.d.ts +3 -0
  360. package/dist/widgets/documentEditor/index.d.ts.map +1 -0
  361. package/dist/widgets/documentViewer/DocumentViewer.d.ts +7 -0
  362. package/dist/widgets/documentViewer/DocumentViewer.d.ts.map +1 -0
  363. package/dist/widgets/documentViewer/documentViewer.interfaces.d.ts +47 -0
  364. package/dist/widgets/documentViewer/documentViewer.interfaces.d.ts.map +1 -0
  365. package/dist/widgets/documentViewer/index.d.ts +3 -0
  366. package/dist/widgets/documentViewer/index.d.ts.map +1 -0
  367. package/dist/widgets/index.d.ts +12 -0
  368. package/dist/widgets/index.d.ts.map +1 -1
  369. package/dist/widgets/shared/documents/ToggleGroup.d.ts +15 -0
  370. package/dist/widgets/shared/documents/ToggleGroup.d.ts.map +1 -0
  371. package/dist/widgets/shared/documents/annotations/AnnotationLayer.d.ts +27 -0
  372. package/dist/widgets/shared/documents/annotations/AnnotationLayer.d.ts.map +1 -0
  373. package/dist/widgets/shared/documents/annotations/annotations.interfaces.d.ts +43 -0
  374. package/dist/widgets/shared/documents/annotations/annotations.interfaces.d.ts.map +1 -0
  375. package/dist/widgets/shared/documents/annotations/highlightRegistry.d.ts +12 -0
  376. package/dist/widgets/shared/documents/annotations/highlightRegistry.d.ts.map +1 -0
  377. package/dist/widgets/shared/documents/annotations/index.d.ts +6 -0
  378. package/dist/widgets/shared/documents/annotations/index.d.ts.map +1 -0
  379. package/dist/widgets/shared/documents/annotations/textIndex.d.ts +16 -0
  380. package/dist/widgets/shared/documents/annotations/textIndex.d.ts.map +1 -0
  381. package/dist/widgets/shared/documents/annotations/textQuoteAnchor.d.ts +15 -0
  382. package/dist/widgets/shared/documents/annotations/textQuoteAnchor.d.ts.map +1 -0
  383. package/dist/widgets/shared/documents/documentHelpers.d.ts +14 -0
  384. package/dist/widgets/shared/documents/documentHelpers.d.ts.map +1 -0
  385. package/dist/widgets/shared/documents/documents.interfaces.d.ts +20 -0
  386. package/dist/widgets/shared/documents/documents.interfaces.d.ts.map +1 -0
  387. package/dist/widgets/shared/documents/engines/documentDiff/DocumentDiff.d.ts +6 -0
  388. package/dist/widgets/shared/documents/engines/documentDiff/DocumentDiff.d.ts.map +1 -0
  389. package/dist/widgets/shared/documents/engines/documentDiff/buildDocumentDiff.d.ts +25 -0
  390. package/dist/widgets/shared/documents/engines/documentDiff/buildDocumentDiff.d.ts.map +1 -0
  391. package/dist/widgets/shared/documents/engines/documentDiff/documentDiff.interfaces.d.ts +17 -0
  392. package/dist/widgets/shared/documents/engines/documentDiff/documentDiff.interfaces.d.ts.map +1 -0
  393. package/dist/widgets/shared/documents/engines/lazyEngines.d.ts +5 -0
  394. package/dist/widgets/shared/documents/engines/lazyEngines.d.ts.map +1 -0
  395. package/dist/widgets/shared/documents/engines/markdownEditor/MarkdownEditorEngine.d.ts +8 -0
  396. package/dist/widgets/shared/documents/engines/markdownEditor/MarkdownEditorEngine.d.ts.map +1 -0
  397. package/dist/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.interfaces.d.ts +23 -0
  398. package/dist/widgets/shared/documents/engines/markdownEditor/markdownEditorEngine.interfaces.d.ts.map +1 -0
  399. package/dist/widgets/shared/documents/engines/markdownEditor/markdownTextIndex.d.ts +12 -0
  400. package/dist/widgets/shared/documents/engines/markdownEditor/markdownTextIndex.d.ts.map +1 -0
  401. package/dist/widgets/shared/documents/engines/markdownEditor/sanitizeForMdx.d.ts +8 -0
  402. package/dist/widgets/shared/documents/engines/markdownEditor/sanitizeForMdx.d.ts.map +1 -0
  403. package/dist/widgets/shared/documents/engines/markdownEditor/sourceAnnotations.d.ts +32 -0
  404. package/dist/widgets/shared/documents/engines/markdownEditor/sourceAnnotations.d.ts.map +1 -0
  405. package/dist/widgets/shared/documents/engines/markdownRenderer/MarkdownRenderer.d.ts +12 -0
  406. package/dist/widgets/shared/documents/engines/markdownRenderer/MarkdownRenderer.d.ts.map +1 -0
  407. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/index.d.ts +7 -0
  408. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/index.d.ts.map +1 -0
  409. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/markdownNode.interfaces.d.ts +16 -0
  410. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/markdownNode.interfaces.d.ts.map +1 -0
  411. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/rehypeTableCleanup.d.ts +3 -0
  412. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/rehypeTableCleanup.d.ts.map +1 -0
  413. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/remarkPlugins.d.ts +6 -0
  414. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/remarkPlugins.d.ts.map +1 -0
  415. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/remarkSafeTables.d.ts +3 -0
  416. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/remarkSafeTables.d.ts.map +1 -0
  417. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/tableHelpers.d.ts +8 -0
  418. package/dist/widgets/shared/documents/engines/markdownRenderer/plugins/tableHelpers.d.ts.map +1 -0
  419. package/dist/widgets/shared/documents/engines/wordRenderer/WordRenderer.d.ts +11 -0
  420. package/dist/widgets/shared/documents/engines/wordRenderer/WordRenderer.d.ts.map +1 -0
  421. package/dist/widgets/shared/documents/engines/wordRenderer/renderWordDocument.d.ts +7 -0
  422. package/dist/widgets/shared/documents/engines/wordRenderer/renderWordDocument.d.ts.map +1 -0
  423. package/dist/widgets/shared/documents/engines/wordRenderer/wordPreviewNumbering.d.ts +3 -0
  424. package/dist/widgets/shared/documents/engines/wordRenderer/wordPreviewNumbering.d.ts.map +1 -0
  425. package/dist/widgets/shared/documents/engines/wordRenderer/wordXml.d.ts +21 -0
  426. package/dist/widgets/shared/documents/engines/wordRenderer/wordXml.d.ts.map +1 -0
  427. package/dist/widgets/shared/documents/index.d.ts +5 -0
  428. package/dist/widgets/shared/documents/index.d.ts.map +1 -0
  429. package/dist/widgets/shared/documents/useDocumentContent.d.ts +11 -0
  430. package/dist/widgets/shared/documents/useDocumentContent.d.ts.map +1 -0
  431. package/package.json +42 -28
  432. package/readme.md +49 -2
  433. package/dist/components/design/dialog/Dialog.test.d.ts +0 -5
  434. package/dist/components/design/dialog/Dialog.test.d.ts.map +0 -1
  435. package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.test.d.ts +0 -5
  436. package/dist/components/design/progressIndicators/circularProgressIndicator/CircularProgressIndicator.test.d.ts.map +0 -1
  437. package/dist/components/design/tooltip/Tooltip.test.d.ts +0 -2
  438. package/dist/components/design/tooltip/Tooltip.test.d.ts.map +0 -1
  439. package/dist/components/form/buttons/SimpleButton.test.d.ts +0 -5
  440. package/dist/components/form/buttons/SimpleButton.test.d.ts.map +0 -1
  441. package/dist/components/form/formFields/formFieldWrapper/FormField.test.d.ts +0 -5
  442. package/dist/components/form/formFields/formFieldWrapper/FormField.test.d.ts.map +0 -1
  443. package/dist/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.test.d.ts +0 -5
  444. package/dist/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.test.d.ts.map +0 -1
  445. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.test.d.ts +0 -5
  446. package/dist/components/form/formFields/subComponents/inputs/checkbox/checkboxSwitch/CheckboxSwitch.test.d.ts.map +0 -1
  447. package/dist/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.test.d.ts +0 -5
  448. package/dist/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.test.d.ts.map +0 -1
  449. package/dist/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.test.d.ts +0 -5
  450. package/dist/components/form/formFields/subComponents/inputs/file/fileAttachmentList/FileAttachmentsList.test.d.ts.map +0 -1
  451. package/dist/components/form/formFields/subComponents/inputs/text/InputText.test.d.ts +0 -5
  452. package/dist/components/form/formFields/subComponents/inputs/text/InputText.test.d.ts.map +0 -1
  453. package/dist/components/form/formFields/subComponents/nestedFormContext.test.d.ts +0 -5
  454. package/dist/components/form/formFields/subComponents/nestedFormContext.test.d.ts.map +0 -1
  455. package/dist/components/form/formFields/subComponents/select/Select.test.d.ts +0 -5
  456. package/dist/components/form/formFields/subComponents/select/Select.test.d.ts.map +0 -1
  457. package/dist/components/form/formFields/subComponents/textarea/Textarea.test.d.ts +0 -5
  458. package/dist/components/form/formFields/subComponents/textarea/Textarea.test.d.ts.map +0 -1
  459. package/dist/components/form/hookFormWrapper/HookFormWrapper.test.d.ts +0 -5
  460. package/dist/components/form/hookFormWrapper/HookFormWrapper.test.d.ts.map +0 -1
  461. package/dist/components/form/validation/ValidationMessages.test.d.ts +0 -5
  462. package/dist/components/form/validation/ValidationMessages.test.d.ts.map +0 -1
  463. package/dist/components/navigation/bubbleNavigator/bubbleNavigatorUtilities.test.d.ts +0 -2
  464. package/dist/components/navigation/bubbleNavigator/bubbleNavigatorUtilities.test.d.ts.map +0 -1
  465. package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.test.d.ts +0 -5
  466. package/dist/components/navigation/menu/menuItemContent/MenuItemIcon.test.d.ts.map +0 -1
  467. package/dist/helpers/ageHelpers.test.d.ts +0 -2
  468. package/dist/helpers/ageHelpers.test.d.ts.map +0 -1
  469. package/dist/helpers/dateHelpers.test.d.ts +0 -2
  470. package/dist/helpers/dateHelpers.test.d.ts.map +0 -1
  471. package/dist/helpers/formatters.test.d.ts +0 -5
  472. package/dist/helpers/formatters.test.d.ts.map +0 -1
  473. package/dist/helpers/iconHelpers.test.d.ts +0 -5
  474. package/dist/helpers/iconHelpers.test.d.ts.map +0 -1
  475. package/dist/helpers/numberHelpers.test.d.ts +0 -5
  476. package/dist/helpers/numberHelpers.test.d.ts.map +0 -1
  477. package/dist/helpers/objectHelpers.test.d.ts +0 -2
  478. package/dist/helpers/objectHelpers.test.d.ts.map +0 -1
  479. package/dist/helpers/stringHelpers.test.d.ts +0 -2
  480. package/dist/helpers/stringHelpers.test.d.ts.map +0 -1
  481. package/dist/hooks/InteractiveHostFocus.test.d.ts +0 -5
  482. package/dist/hooks/InteractiveHostFocus.test.d.ts.map +0 -1
  483. package/dist/widgets/processLauncher/ProcessLauncher.test.d.ts +0 -5
  484. package/dist/widgets/processLauncher/ProcessLauncher.test.d.ts.map +0 -1
@@ -0,0 +1,117 @@
1
+ .documentComparer {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--documentComparerGap, 20px);
5
+ min-width: 0;
6
+ }
7
+ .documentComparer .headerBar {
8
+ margin-bottom: 0;
9
+ }
10
+
11
+ .documentComparer__header {
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap: var(--documentComparerPanelGap, var(--documentGap, 10px));
15
+ }
16
+
17
+ .documentComparer__controls {
18
+ display: flex;
19
+ flex-wrap: wrap;
20
+ gap: var(--documentComparerGap, 20px);
21
+ }
22
+
23
+ .documentComparer__columns {
24
+ display: grid;
25
+ grid-template-columns: repeat(2, minmax(var(--documentComparerColumnMinWidth, 320px), 1fr));
26
+ gap: var(--documentComparerGap, 20px);
27
+ }
28
+ @media (max-width: 900px) {
29
+ .documentComparer__columns {
30
+ grid-template-columns: minmax(0, 1fr);
31
+ }
32
+ }
33
+
34
+ .documentComparer__panel,
35
+ .documentComparer__differences {
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: var(--documentComparerPanelGap, var(--documentGap, 10px));
39
+ min-width: 0;
40
+ padding: var(--documentComparerPanelPadding, 15px);
41
+ border: var(--documentComparerPanelBorder, var(--documentBorder));
42
+ border-radius: var(--documentComparerPanelBorderRadius, var(--documentBorderRadius, 5px));
43
+ background: var(--documentComparerPanelBg, var(--documentBg, #fff));
44
+ }
45
+
46
+ .documentComparer__panelHeader {
47
+ display: flex;
48
+ flex-direction: column;
49
+ gap: 5px;
50
+ }
51
+
52
+ .documentComparer__documentTitle {
53
+ margin: 0;
54
+ font-weight: 600;
55
+ overflow-wrap: anywhere;
56
+ }
57
+
58
+ .documentComparer__metadata {
59
+ display: flex;
60
+ flex-wrap: wrap;
61
+ gap: 5px 20px;
62
+ margin: 0;
63
+ color: var(--documentComparerMetadataColor, var(--documentMutedFgColor));
64
+ font-size: var(--documentComparerMetadataFontSize, 0.8125rem);
65
+ }
66
+ .documentComparer__metadata > div {
67
+ display: flex;
68
+ gap: 5px;
69
+ }
70
+ .documentComparer__metadata dt::after {
71
+ content: ":";
72
+ }
73
+ .documentComparer__metadata dd {
74
+ margin: 0;
75
+ }
76
+
77
+ .documentComparer__panelBody {
78
+ display: flex;
79
+ flex: 1;
80
+ flex-direction: column;
81
+ min-height: var(--documentComparerPanelMinHeight, var(--documentFrameMinHeight, 65vh));
82
+ overflow: auto;
83
+ }
84
+ .documentComparer__panelBody > aside,
85
+ .documentComparer__panelBody > .pageBanner {
86
+ margin: auto;
87
+ }
88
+
89
+ .documentComparer__viewer {
90
+ --documentViewerFrameBorder: 0;
91
+ flex: 1;
92
+ }
93
+
94
+ .documentComparer__pages {
95
+ display: flex;
96
+ flex-direction: column;
97
+ gap: var(--documentComparerPageGap, 15px);
98
+ }
99
+ .documentComparer__pages img {
100
+ display: block;
101
+ width: 100%;
102
+ height: auto;
103
+ box-shadow: var(--documentComparerPageShadow, 0 1px 5px rgba(0, 0, 0, 0.15));
104
+ }
105
+
106
+ .documentComparer__message {
107
+ margin: auto;
108
+ color: var(--documentComparerMetadataColor, var(--documentMutedFgColor));
109
+ }
110
+
111
+ .documentComparer__panelActions,
112
+ .documentComparer__footer {
113
+ display: flex;
114
+ flex-wrap: wrap;
115
+ justify-content: flex-end;
116
+ gap: var(--documentComparerPanelGap, var(--documentGap, 10px));
117
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=documentComparer.interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentComparer.interfaces.js","names":[],"sources":["../../../../src/widgets/documentComparer/documentComparer.interfaces.ts"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport { DocumentRenderers } from '../documentViewer/documentViewer.interfaces';\nimport { DocumentAnnotationsProps } from '../shared/documents/annotations/annotations.interfaces';\nimport { DocumentSource, ResolveResourceUrl } from '../shared/documents/documents.interfaces';\nimport { DocumentDiffView } from '../shared/documents/engines/documentDiff/documentDiff.interfaces';\nimport { DocumentEditorProps } from '../documentEditor/documentEditor.interfaces';\n\nexport type DocumentComparerView = 'sideBySide' | 'differences';\n\nexport type ComparisonDocument = DocumentSource & {\n version?: string;\n lastModified?: string;\n // Rendered page images shown instead of the document itself, e.g. pages of a scanned PDF.\n pageImages?: string[];\n};\n\nexport type DocumentComparerSaveUpdate = {\n markdown: string;\n baselineMarkdown: string;\n};\n\nexport type DocumentComparerLabels = {\n originalHeading: string;\n revisedHeading: string;\n viewSelector: string;\n sideBySide: string;\n differences: string;\n diffSelector: string;\n formatted: string;\n source: string;\n edit: string;\n save: string;\n cancel: string;\n version: string;\n lastModified: string;\n notRecorded: string;\n loadingHeading: string;\n loadingMessage: string;\n loadError: string;\n noSourcePreview: string;\n added: string;\n removed: string;\n noChanges: string;\n /* eslint-disable-next-line no-unused-vars */\n diffSummary: (added: number, removed: number) => string;\n /* eslint-disable-next-line no-unused-vars */\n pageImageAlt: (page: number, total: number, title: string) => string;\n};\n\nexport type DocumentComparerCssClasses = {\n wrapper?: string;\n header?: string;\n columns?: string;\n originalPanel?: string;\n revisedPanel?: string;\n differences?: string;\n footer?: string;\n};\n\nexport type DocumentComparerProps = {\n id: string;\n title: string;\n headingLevel?: 1 | 2 | 3 | 4;\n originalDocument: ComparisonDocument;\n // The markdown version under review, supplied as text, a File or a URL.\n revisedDocument: ComparisonDocument;\n // What the differences view compares against; defaults to the revised document as first loaded.\n baselineMarkdown?: string;\n initialView?: DocumentComparerView;\n initialDiffView?: DocumentDiffView;\n // Which column holds the revised document.\n revisedPosition?: 'start' | 'end';\n enableEditing?: boolean;\n /* eslint-disable-next-line no-unused-vars */\n onChange?: (markdown: string) => void;\n // Called with the edited markdown; return a promise to keep the save button disabled until it settles.\n /* eslint-disable-next-line no-unused-vars */\n onSave?: (update: DocumentComparerSaveUpdate) => void | Promise<void>;\n // Options passed through to the editor used while editing the revised document.\n editorProps?: Pick<DocumentEditorProps, 'toolbarItems' | 'listTypes' | 'imageUploadHandler' | 'viewModes'>;\n // Override renderers for supported original-document kinds; unsupported files stay blocked.\n originalRenderers?: DocumentRenderers;\n resolveResourceUrl?: ResolveResourceUrl;\n // Passed to the original document's viewer; see DocumentViewer's trustedPdfOrigins.\n trustedPdfOrigins?: string[];\n // Defaults to the library's dateToShortReadableDate; return null to show the value as given.\n /* eslint-disable-next-line no-unused-vars */\n formatDate?: (value: string) => string | null;\n // Slots for application workflow, e.g. lifecycle status, review and approval actions.\n headerActions?: ReactNode;\n originalPanelActions?: ReactNode;\n revisedPanelActions?: ReactNode;\n footerActions?: ReactNode;\n // Pinned comments on the revised document, both when reading and while editing it.\n annotations?: DocumentAnnotationsProps;\n labels?: Partial<DocumentComparerLabels>;\n customCssClasses?: DocumentComparerCssClasses;\n};\n\nexport type { DocumentDiffView };\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DocumentComparer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DocumentComparer.DocumentComparer;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "defaultDocumentComparerLabels", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _DocumentComparer.defaultDocumentComparerLabels;
16
+ }
17
+ });
18
+ var _DocumentComparer = require("./DocumentComparer");
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_DocumentComparer","require"],"sources":["../../../../src/widgets/documentComparer/index.ts"],"sourcesContent":["export { DocumentComparer, defaultDocumentComparerLabels } from './DocumentComparer';\n\nexport type {\n ComparisonDocument,\n DocumentComparerCssClasses,\n DocumentComparerLabels,\n DocumentComparerProps,\n DocumentComparerSaveUpdate,\n DocumentComparerView,\n DocumentDiffView\n} from './documentComparer.interfaces';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.defaultDocumentEditorLabels = exports.default = exports.DocumentEditor = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _components = require("../../components");
10
+ var _LoadingMessage = require("../../components/design/loadingMessage/LoadingMessage");
11
+ var _lazyEngines = require("../shared/documents/engines/lazyEngines");
12
+ require("./documentEditor.css");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ const defaultDocumentEditorLabels = exports.defaultDocumentEditorLabels = {
15
+ loadingHeading: 'Loading',
16
+ loadingMessage: 'Loading editor',
17
+ parseErrorNotice: 'This document contains markdown the visual editor cannot represent, so it has opened in source mode.',
18
+ retryRichText: 'Try the visual editor again'
19
+ };
20
+ const DEFAULT_VIEW_MODES = ['rich-text', 'source'];
21
+
22
+ /*
23
+ DocumentEditor edits a markdown document in rich-text, source or diff mode. The editor engine
24
+ (MDXEditor) is only downloaded when an editor is first rendered.
25
+ If the visual editor cannot parse the document it falls back to source mode rather than
26
+ rendering an empty, silently lossy editor.
27
+ */
28
+ const DocumentEditor = ({
29
+ id,
30
+ label,
31
+ hideLabel = false,
32
+ headingLevel = 3,
33
+ markdown,
34
+ onChange,
35
+ readOnly = false,
36
+ baselineMarkdown,
37
+ viewModes,
38
+ initialViewMode = 'rich-text',
39
+ toolbarItems,
40
+ listTypes,
41
+ imageUploadHandler,
42
+ resolveResourceUrl,
43
+ headerActions,
44
+ annotations,
45
+ labels: customLabels,
46
+ customCssClasses = {},
47
+ onParseError
48
+ }) => {
49
+ const labels = (0, _react.useMemo)(() => ({
50
+ ...defaultDocumentEditorLabels,
51
+ ...customLabels
52
+ }), [customLabels]);
53
+ const [parseError, setParseError] = (0, _react.useState)(null);
54
+ const [editorRevision, setEditorRevision] = (0, _react.useState)(0);
55
+ // The latest text, so remounting the editor (e.g. to retry the visual editor) keeps edits even
56
+ // when the host does not feed onChange back into `markdown`.
57
+ const [currentMarkdown, setCurrentMarkdown] = (0, _react.useState)(markdown);
58
+ const currentMarkdownRef = (0, _react.useRef)(markdown);
59
+ (0, _react.useEffect)(() => {
60
+ if (markdown !== currentMarkdownRef.current) {
61
+ currentMarkdownRef.current = markdown;
62
+ setCurrentMarkdown(markdown);
63
+ // A replacement document is parsed afresh, so the previous document's parse error no longer applies.
64
+ setParseError(null);
65
+ setEditorRevision(revision => revision + 1);
66
+ }
67
+ }, [markdown]);
68
+ const handleChange = (0, _react.useCallback)(nextMarkdown => {
69
+ currentMarkdownRef.current = nextMarkdown;
70
+ setCurrentMarkdown(nextMarkdown);
71
+ onChange?.(nextMarkdown);
72
+ }, [onChange]);
73
+ const availableViewModes = (0, _react.useMemo)(() => {
74
+ const requested = viewModes ?? (baselineMarkdown === undefined ? DEFAULT_VIEW_MODES : [...DEFAULT_VIEW_MODES, 'diff']);
75
+ const supported = requested.filter(mode => mode !== 'diff' || baselineMarkdown !== undefined);
76
+ return parseError ? ['source', ...supported.filter(mode => mode !== 'rich-text' && mode !== 'source')] : supported;
77
+ }, [viewModes, baselineMarkdown, parseError]);
78
+ const viewMode = parseError ? 'source' : availableViewModes.includes(initialViewMode) ? initialViewMode : availableViewModes[0] ?? 'source';
79
+ const handleParseError = (0, _react.useCallback)(error => {
80
+ setParseError(current => current ?? error);
81
+ onParseError?.(error);
82
+ }, [onParseError]);
83
+ const imagePreviewHandler = (0, _react.useMemo)(
84
+ // A resolver returning nothing has rejected the source, so the preview is left empty rather than
85
+ // falling back to the unvetted original.
86
+ () => resolveResourceUrl ? async source => resolveResourceUrl(source) ?? '' : undefined, [resolveResourceUrl]);
87
+ return /*#__PURE__*/_react.default.createElement("section", {
88
+ id: id,
89
+ className: `documentEditor ${readOnly ? 'documentEditor--readOnly' : ''} ${customCssClasses.wrapper || ''}`.trim(),
90
+ "aria-label": label
91
+ }, !hideLabel && /*#__PURE__*/_react.default.createElement("div", {
92
+ className: `documentEditor__header ${customCssClasses.header || ''}`.trim()
93
+ }, /*#__PURE__*/_react.default.createElement(_components.HeaderBar, {
94
+ text: label,
95
+ headingLevel: headingLevel
96
+ }, headerActions)), hideLabel && headerActions && /*#__PURE__*/_react.default.createElement("div", {
97
+ className: `documentEditor__actions ${customCssClasses.actions || ''}`.trim()
98
+ }, headerActions), parseError && /*#__PURE__*/_react.default.createElement(_components.PageBanner, {
99
+ id: `${id}_parseError`,
100
+ type: "warn",
101
+ icon: "warning",
102
+ displayMode: "inline",
103
+ animation: "none",
104
+ disableClose: true
105
+ }, /*#__PURE__*/_react.default.createElement("span", {
106
+ role: "status"
107
+ }, labels.parseErrorNotice), /*#__PURE__*/_react.default.createElement(_components.SimpleButton, {
108
+ id: `${id}_retryRichText`,
109
+ label: labels.retryRichText,
110
+ cssClass: "button secondary outline compact documentEditor__retry",
111
+ onClickHandler: () => setParseError(null)
112
+ })), /*#__PURE__*/_react.default.createElement("div", {
113
+ className: `documentEditor__editor ${customCssClasses.editor || ''}`.trim()
114
+ }, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
115
+ fallback: /*#__PURE__*/_react.default.createElement(_LoadingMessage.LoadingMessage, {
116
+ heading: labels.loadingHeading,
117
+ loadingMessage: labels.loadingMessage,
118
+ isInline: true
119
+ })
120
+ }, /*#__PURE__*/_react.default.createElement(_lazyEngines.LazyMarkdownEditorEngine
121
+ // Remount in source mode once a parse error forces the fallback.
122
+ , {
123
+ key: `${parseError ? 'source-fallback' : 'default'}_${editorRevision}`,
124
+ markdown: currentMarkdown,
125
+ onChange: handleChange,
126
+ readOnly: readOnly,
127
+ viewMode: viewMode,
128
+ viewModes: availableViewModes,
129
+ diffMarkdown: baselineMarkdown,
130
+ toolbarItems: toolbarItems,
131
+ listTypes: listTypes,
132
+ imageUploadHandler: imageUploadHandler,
133
+ imagePreviewHandler: imagePreviewHandler,
134
+ contentCssClass: customCssClasses.content,
135
+ annotations: annotations,
136
+ annotationLayerId: `${id}_annotations`,
137
+ onParseError: handleParseError
138
+ }))));
139
+ };
140
+ exports.DocumentEditor = DocumentEditor;
141
+ var _default = exports.default = DocumentEditor;
142
+ //# sourceMappingURL=DocumentEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentEditor.js","names":["Object","defineProperty","exports","value","defaultDocumentEditorLabels","default","DocumentEditor","_react","_interopRequireWildcard","require","_components","_LoadingMessage","_lazyEngines","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","loadingHeading","loadingMessage","parseErrorNotice","retryRichText","DEFAULT_VIEW_MODES","id","label","hideLabel","headingLevel","markdown","onChange","readOnly","baselineMarkdown","viewModes","initialViewMode","toolbarItems","listTypes","imageUploadHandler","resolveResourceUrl","headerActions","annotations","labels","customLabels","customCssClasses","onParseError","useMemo","parseError","setParseError","useState","editorRevision","setEditorRevision","currentMarkdown","setCurrentMarkdown","currentMarkdownRef","useRef","useEffect","current","revision","handleChange","useCallback","nextMarkdown","availableViewModes","requested","undefined","supported","filter","mode","viewMode","includes","handleParseError","error","imagePreviewHandler","source","createElement","className","wrapper","trim","header","HeaderBar","text","actions","PageBanner","type","icon","displayMode","animation","disableClose","role","SimpleButton","cssClass","onClickHandler","editor","Suspense","fallback","LoadingMessage","heading","isInline","LazyMarkdownEditorEngine","key","diffMarkdown","contentCssClass","content","annotationLayerId","_default"],"sources":["../../../../src/widgets/documentEditor/DocumentEditor.tsx"],"sourcesContent":["'use client';\n\nimport React, { FC, Suspense, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { HeaderBar, PageBanner, SimpleButton } from '../../components';\nimport { LoadingMessage } from '../../components/design/loadingMessage/LoadingMessage';\nimport { LazyMarkdownEditorEngine } from '../shared/documents/engines/lazyEngines';\nimport { DocumentEditorLabels, DocumentEditorProps, MarkdownEditorViewMode } from './documentEditor.interfaces';\n\nimport './documentEditor.scss';\n\nexport const defaultDocumentEditorLabels: DocumentEditorLabels = {\n loadingHeading: 'Loading',\n loadingMessage: 'Loading editor',\n parseErrorNotice: 'This document contains markdown the visual editor cannot represent, so it has opened in source mode.',\n retryRichText: 'Try the visual editor again'\n};\n\nconst DEFAULT_VIEW_MODES: MarkdownEditorViewMode[] = ['rich-text', 'source'];\n\n/*\n DocumentEditor edits a markdown document in rich-text, source or diff mode. The editor engine\n (MDXEditor) is only downloaded when an editor is first rendered.\n If the visual editor cannot parse the document it falls back to source mode rather than\n rendering an empty, silently lossy editor.\n */\nexport const DocumentEditor: FC<DocumentEditorProps> = (\n {\n id,\n label,\n hideLabel = false,\n headingLevel = 3,\n markdown,\n onChange,\n readOnly = false,\n baselineMarkdown,\n viewModes,\n initialViewMode = 'rich-text',\n toolbarItems,\n listTypes,\n imageUploadHandler,\n resolveResourceUrl,\n headerActions,\n annotations,\n labels: customLabels,\n customCssClasses = {},\n onParseError\n }\n) => {\n const labels = useMemo(() => ({ ...defaultDocumentEditorLabels, ...customLabels }), [customLabels]);\n const [parseError, setParseError] = useState<string | null>(null);\n const [editorRevision, setEditorRevision] = useState(0);\n // The latest text, so remounting the editor (e.g. to retry the visual editor) keeps edits even\n // when the host does not feed onChange back into `markdown`.\n const [currentMarkdown, setCurrentMarkdown] = useState(markdown);\n const currentMarkdownRef = useRef(markdown);\n\n useEffect(() => {\n if (markdown !== currentMarkdownRef.current) {\n currentMarkdownRef.current = markdown;\n setCurrentMarkdown(markdown);\n // A replacement document is parsed afresh, so the previous document's parse error no longer applies.\n setParseError(null);\n setEditorRevision((revision) => revision + 1);\n }\n }, [markdown]);\n\n const handleChange = useCallback((nextMarkdown: string) => {\n currentMarkdownRef.current = nextMarkdown;\n setCurrentMarkdown(nextMarkdown);\n onChange?.(nextMarkdown);\n }, [onChange]);\n\n const availableViewModes = useMemo<MarkdownEditorViewMode[]>(() => {\n const requested = viewModes ?? (baselineMarkdown === undefined ? DEFAULT_VIEW_MODES : [...DEFAULT_VIEW_MODES, 'diff']);\n const supported = requested.filter((mode) => mode !== 'diff' || baselineMarkdown !== undefined);\n return parseError ? ['source', ...supported.filter((mode) => mode !== 'rich-text' && mode !== 'source')] : supported;\n }, [viewModes, baselineMarkdown, parseError]);\n\n const viewMode: MarkdownEditorViewMode = parseError ? 'source' : availableViewModes.includes(initialViewMode)\n ? initialViewMode\n : availableViewModes[0] ?? 'source';\n\n const handleParseError = useCallback((error: string) => {\n setParseError((current) => current ?? error);\n onParseError?.(error);\n }, [onParseError]);\n\n const imagePreviewHandler = useMemo(\n // A resolver returning nothing has rejected the source, so the preview is left empty rather than\n // falling back to the unvetted original.\n () => (resolveResourceUrl ? async (source: string) => resolveResourceUrl(source) ?? '' : undefined),\n [resolveResourceUrl]\n );\n\n return (\n <section\n id={ id }\n className={ `documentEditor ${ readOnly ? 'documentEditor--readOnly' : '' } ${ customCssClasses.wrapper || '' }`.trim() }\n aria-label={ label }\n >\n { !hideLabel && (\n <div className={ `documentEditor__header ${ customCssClasses.header || '' }`.trim() }>\n <HeaderBar text={ label } headingLevel={ headingLevel }>\n { headerActions }\n </HeaderBar>\n </div>\n ) }\n\n { hideLabel && headerActions && (\n <div className={ `documentEditor__actions ${ customCssClasses.actions || '' }`.trim() }>{ headerActions }</div>\n ) }\n\n { parseError && (\n <PageBanner id={ `${ id }_parseError` } type=\"warn\" icon=\"warning\" displayMode=\"inline\" animation=\"none\" disableClose>\n <span role=\"status\">{ labels.parseErrorNotice }</span>\n { /* Retried on request rather than after each edit, which would remount the editor on every keystroke. */ }\n <SimpleButton\n id={ `${ id }_retryRichText` }\n label={ labels.retryRichText }\n cssClass=\"button secondary outline compact documentEditor__retry\"\n onClickHandler={ () => setParseError(null) }\n />\n </PageBanner>\n ) }\n\n <div className={ `documentEditor__editor ${ customCssClasses.editor || '' }`.trim() }>\n <Suspense fallback={ <LoadingMessage heading={ labels.loadingHeading } loadingMessage={ labels.loadingMessage } isInline /> }>\n <LazyMarkdownEditorEngine\n // Remount in source mode once a parse error forces the fallback.\n key={ `${ parseError ? 'source-fallback' : 'default' }_${ editorRevision }` }\n markdown={ currentMarkdown }\n onChange={ handleChange }\n readOnly={ readOnly }\n viewMode={ viewMode }\n viewModes={ availableViewModes }\n diffMarkdown={ baselineMarkdown }\n toolbarItems={ toolbarItems }\n listTypes={ listTypes }\n imageUploadHandler={ imageUploadHandler }\n imagePreviewHandler={ imagePreviewHandler }\n contentCssClass={ customCssClasses.content }\n annotations={ annotations }\n annotationLayerId={ `${ id }_annotations` }\n onParseError={ handleParseError }\n />\n </Suspense>\n </div>\n </section>\n );\n};\n\nexport default DocumentEditor;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ .documentEditor {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--documentEditorGap, var(--documentGap, 10px));
5
+ min-width: 0;
6
+ }
7
+ .documentEditor .headerBar {
8
+ margin-bottom: 0;
9
+ }
10
+
11
+ .documentEditor__actions {
12
+ display: flex;
13
+ justify-content: flex-end;
14
+ gap: var(--documentEditorGap, var(--documentGap, 10px));
15
+ }
16
+
17
+ .documentEditor__editor {
18
+ display: flex;
19
+ flex: 1;
20
+ flex-direction: column;
21
+ min-height: var(--documentEditorMinHeight, var(--documentFrameMinHeight, 65vh));
22
+ border: var(--documentEditorBorder, var(--documentBorder));
23
+ border-radius: var(--documentEditorBorderRadius, var(--documentBorderRadius, 5px));
24
+ background: var(--documentEditorBg, var(--documentBg, #fff));
25
+ overflow: auto;
26
+ }
27
+ .documentEditor__editor > aside {
28
+ margin: auto;
29
+ }
30
+
31
+ .documentEditor--readOnly .documentEditor__editor {
32
+ --markdownEditorEngineBg: var(--documentEditorReadOnlyBg, var(--documentSubtleBg));
33
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=documentEditor.interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentEditor.interfaces.js","names":[],"sources":["../../../../src/widgets/documentEditor/documentEditor.interfaces.ts"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport { DocumentAnnotationsProps } from '../shared/documents/annotations/annotations.interfaces';\nimport { ResolveResourceUrl } from '../shared/documents/documents.interfaces';\nimport {\n MarkdownEditorImageUploadHandler,\n MarkdownEditorListType,\n MarkdownEditorToolbarItem,\n MarkdownEditorViewMode\n} from '../shared/documents/engines/markdownEditor/markdownEditorEngine.interfaces';\n\nexport type DocumentEditorLabels = {\n loadingHeading: string;\n loadingMessage: string;\n parseErrorNotice: string;\n retryRichText: string;\n};\n\nexport type DocumentEditorCssClasses = {\n wrapper?: string;\n header?: string;\n editor?: string;\n content?: string;\n actions?: string;\n};\n\nexport type DocumentEditorProps = {\n id: string;\n label: string;\n // Visually hide the label while keeping it as the editor's accessible name.\n hideLabel?: boolean;\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n markdown: string;\n /* eslint-disable-next-line no-unused-vars */\n onChange?: (markdown: string) => void;\n readOnly?: boolean;\n // Supplying a baseline adds a diff mode that compares the edited document against it.\n baselineMarkdown?: string;\n viewModes?: MarkdownEditorViewMode[];\n initialViewMode?: MarkdownEditorViewMode;\n toolbarItems?: MarkdownEditorToolbarItem[];\n listTypes?: MarkdownEditorListType[];\n // Enables image insertion; resolves to the URL the uploaded image should be referenced by.\n imageUploadHandler?: MarkdownEditorImageUploadHandler;\n // Resolves image sources for preview, e.g. paths relative to the document.\n resolveResourceUrl?: ResolveResourceUrl;\n // Rendered beside the label, e.g. save or cancel buttons.\n headerActions?: ReactNode;\n // Pinned comments, shown and created in both the rich-text and source views.\n annotations?: DocumentAnnotationsProps;\n labels?: Partial<DocumentEditorLabels>;\n customCssClasses?: DocumentEditorCssClasses;\n /* eslint-disable-next-line no-unused-vars */\n onParseError?: (error: string) => void;\n};\n\nexport type {\n MarkdownEditorImageUploadHandler,\n MarkdownEditorListType,\n MarkdownEditorToolbarItem,\n MarkdownEditorViewMode\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DocumentEditor", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DocumentEditor.DocumentEditor;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "defaultDocumentEditorLabels", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _DocumentEditor.defaultDocumentEditorLabels;
16
+ }
17
+ });
18
+ var _DocumentEditor = require("./DocumentEditor");
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_DocumentEditor","require"],"sources":["../../../../src/widgets/documentEditor/index.ts"],"sourcesContent":["export { DocumentEditor, defaultDocumentEditorLabels } from './DocumentEditor';\n\nexport type {\n DocumentEditorCssClasses,\n DocumentEditorLabels,\n DocumentEditorProps,\n MarkdownEditorImageUploadHandler,\n MarkdownEditorListType,\n MarkdownEditorToolbarItem,\n MarkdownEditorViewMode\n} from './documentEditor.interfaces';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.defaultDocumentViewerLabels = exports.default = exports.DocumentViewer = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _components = require("../../components");
12
+ var _LoadingMessage = require("../../components/design/loadingMessage/LoadingMessage");
13
+ var _iconHelpers = require("../../helpers/iconHelpers");
14
+ var _formatters = require("../../helpers/formatters");
15
+ var _documentHelpers = require("../shared/documents/documentHelpers");
16
+ var _AnnotationLayer = require("../shared/documents/annotations/AnnotationLayer");
17
+ var _lazyEngines = require("../shared/documents/engines/lazyEngines");
18
+ var _useDocumentContent = require("../shared/documents/useDocumentContent");
19
+ require("./documentViewer.css");
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
+ const defaultDocumentViewerLabels = exports.defaultDocumentViewerLabels = {
22
+ loadingHeading: 'Loading',
23
+ loadingMessage: 'Loading document',
24
+ loadError: 'The document could not be loaded.',
25
+ unsupported: 'A preview is not available for this file type. Download the original file to open it.',
26
+ wordNotice: 'This is a browser representation of the Word document. Styling and pagination may differ from the original.',
27
+ imageError: 'The image could not be loaded.'
28
+ };
29
+ const getErrorDetail = error => error instanceof Error ? error.message : '';
30
+
31
+ // Kinds rendered into the page's own DOM, which comments can be pinned to.
32
+ const ANNOTATABLE_KINDS = ['markdown', 'text'];
33
+
34
+ /*
35
+ DocumentViewer displays a document supplied as inline text, a File or a URL. PDFs and images
36
+ use the browser's native rendering; markdown and Word documents are rendered by engines that
37
+ are only downloaded when a document of that kind is first shown.
38
+ */
39
+ const DocumentViewer = ({
40
+ id,
41
+ document,
42
+ showHeader = true,
43
+ showMetadata = true,
44
+ headingLevel = 3,
45
+ headerActions,
46
+ metadataIcon = 'file-text',
47
+ contentHeadingOffset = 0,
48
+ showWordNotice = true,
49
+ renderers = {},
50
+ getDocumentKind = _documentHelpers.getDocumentKind,
51
+ resolveResourceUrl,
52
+ trustedPdfOrigins,
53
+ annotations,
54
+ labels: customLabels,
55
+ customCssClasses = {},
56
+ onStatusChange
57
+ }) => {
58
+ const labels = (0, _react.useMemo)(() => ({
59
+ ...defaultDocumentViewerLabels,
60
+ ...customLabels
61
+ }), [customLabels]);
62
+ const kind = (0, _react.useMemo)(() => {
63
+ const detectedKind = (0, _documentHelpers.getDocumentKind)(document);
64
+ return detectedKind === 'unsupported' || getDocumentKind === _documentHelpers.getDocumentKind ? detectedKind : getDocumentKind(document);
65
+ }, [document, getDocumentKind]);
66
+ const content = (0, _useDocumentContent.useDocumentContent)(document, kind, {
67
+ trustedPdfOrigins
68
+ });
69
+ const [renderFailure, setRenderFailure] = (0, _react.useState)(null);
70
+
71
+ // A renderer failure belongs to the content it happened on and clears once different content loads.
72
+ const renderError = renderFailure && renderFailure.loaded === content.loaded ? renderFailure.error : undefined;
73
+ const handleRenderError = (0, _react.useCallback)(error => {
74
+ if (content.loaded) {
75
+ setRenderFailure({
76
+ loaded: content.loaded,
77
+ error
78
+ });
79
+ }
80
+ }, [content.loaded]);
81
+ const isUnsupported = content.status === 'ready' && kind === 'unsupported';
82
+ const status = renderError !== undefined || isUnsupported ? 'error' : content.status;
83
+ const error = renderError ?? content.error;
84
+ (0, _react.useEffect)(() => {
85
+ onStatusChange?.(status, error);
86
+ }, [status, error, onStatusChange]);
87
+ const resolveResource = (0, _react.useCallback)(resource => (0, _documentHelpers.resolveDocumentResourceWithFallback)(resource, document.url, resolveResourceUrl), [resolveResourceUrl, document.url]);
88
+ const loadingIndicator = /*#__PURE__*/_react.default.createElement(_LoadingMessage.LoadingMessage, {
89
+ heading: labels.loadingHeading,
90
+ loadingMessage: labels.loadingMessage,
91
+ isInline: true
92
+ });
93
+ const builtInRenderers = {
94
+ pdf: ({
95
+ loaded
96
+ }) => /*#__PURE__*/_react.default.createElement("iframe", {
97
+ title: document.title,
98
+ src: loaded.url,
99
+ className: "documentViewer__pdf",
100
+ referrerPolicy: "no-referrer"
101
+ }),
102
+ image: ({
103
+ loaded,
104
+ onError
105
+ }) => /*#__PURE__*/_react.default.createElement("img", {
106
+ className: "documentViewer__image",
107
+ src: loaded.url,
108
+ alt: document.title,
109
+ onError: () => onError(new Error(labels.imageError))
110
+ }),
111
+ text: ({
112
+ loaded
113
+ }) => /*#__PURE__*/_react.default.createElement("pre", {
114
+ className: "documentViewer__text"
115
+ }, /*#__PURE__*/_react.default.createElement("code", null, loaded.content)),
116
+ markdown: ({
117
+ loaded,
118
+ headingOffset,
119
+ resolveResourceUrl: resolve
120
+ }) => /*#__PURE__*/_react.default.createElement(_react.Suspense, {
121
+ fallback: loadingIndicator
122
+ }, /*#__PURE__*/_react.default.createElement(_lazyEngines.LazyMarkdownRenderer, {
123
+ markdown: loaded.content ?? '',
124
+ headingOffset: headingOffset,
125
+ resolveResourceUrl: resolve
126
+ })),
127
+ word: ({
128
+ loaded,
129
+ onError
130
+ }) => /*#__PURE__*/_react.default.createElement(_react.Suspense, {
131
+ fallback: loadingIndicator
132
+ }, /*#__PURE__*/_react.default.createElement(_lazyEngines.LazyWordRenderer, {
133
+ arrayBuffer: loaded.arrayBuffer,
134
+ title: document.title,
135
+ cssClass: "documentViewer__word",
136
+ loadingIndicator: loadingIndicator,
137
+ onError: onError
138
+ }))
139
+ };
140
+ const renderContent = () => {
141
+ if (status === 'idle' || status === 'loading') {
142
+ return loadingIndicator;
143
+ }
144
+ if (status === 'error' || !content.loaded || kind === 'unsupported') {
145
+ const message = isUnsupported ? labels.unsupported : labels.loadError;
146
+ const detail = isUnsupported ? '' : getErrorDetail(error);
147
+ return /*#__PURE__*/_react.default.createElement(_components.PageBanner, {
148
+ id: `${id}_error`,
149
+ type: "error",
150
+ icon: "warning",
151
+ displayMode: "inline",
152
+ animation: "none",
153
+ disableClose: true
154
+ }, /*#__PURE__*/_react.default.createElement("span", {
155
+ role: "alert"
156
+ }, message, detail && /*#__PURE__*/_react.default.createElement("span", {
157
+ className: "documentViewer__errorDetail"
158
+ }, detail)));
159
+ }
160
+ const renderer = renderers[kind] ?? builtInRenderers[kind];
161
+ const rendered = renderer?.({
162
+ document,
163
+ loaded: content.loaded,
164
+ resolveResourceUrl: resolveResource,
165
+ headingOffset: contentHeadingOffset,
166
+ onError: handleRenderError
167
+ }) ?? null;
168
+ if (!annotations || !ANNOTATABLE_KINDS.includes(kind)) {
169
+ return rendered;
170
+ }
171
+ return /*#__PURE__*/_react.default.createElement(_AnnotationLayer.AnnotationLayer, (0, _extends2.default)({}, annotations, {
172
+ id: `${id}_annotations`
173
+ }), rendered);
174
+ };
175
+ const bytes = document.fileSize ?? document.file?.size;
176
+ const fileSize = bytes !== undefined && Number.isFinite(bytes) && bytes >= 0 ? (0, _formatters.formatFileSize)(bytes) : '';
177
+ return /*#__PURE__*/_react.default.createElement("section", {
178
+ id: id,
179
+ className: `documentViewer documentViewer--${kind} ${customCssClasses.wrapper || ''}`.trim(),
180
+ "aria-busy": status === 'loading'
181
+ }, showHeader && /*#__PURE__*/_react.default.createElement(_components.HeaderBar, {
182
+ text: document.title,
183
+ headingLevel: headingLevel
184
+ }, headerActions), showMetadata && /*#__PURE__*/_react.default.createElement("div", {
185
+ className: `documentViewer__metadata ${customCssClasses.metadata || ''}`.trim()
186
+ }, (0, _iconHelpers.renderIcon)(metadataIcon, {
187
+ customCssClass: 'documentViewer__metadataIcon'
188
+ }), /*#__PURE__*/_react.default.createElement("span", {
189
+ className: "documentViewer__fileName"
190
+ }, (0, _documentHelpers.getDocumentFileName)(document)), fileSize && /*#__PURE__*/_react.default.createElement("small", {
191
+ className: "documentViewer__fileSize"
192
+ }, fileSize)), showWordNotice && kind === 'word' && status === 'ready' && /*#__PURE__*/_react.default.createElement(_components.PageBanner, {
193
+ id: `${id}_wordNotice`,
194
+ type: "info",
195
+ displayMode: "inline",
196
+ animation: "none",
197
+ disableClose: true
198
+ }, labels.wordNotice), /*#__PURE__*/_react.default.createElement("div", {
199
+ className: `documentViewer__frame ${customCssClasses.frame || ''}`.trim()
200
+ }, /*#__PURE__*/_react.default.createElement("div", {
201
+ className: `documentViewer__content ${customCssClasses.content || ''}`.trim()
202
+ }, renderContent())));
203
+ };
204
+ exports.DocumentViewer = DocumentViewer;
205
+ var _default = exports.default = DocumentViewer;
206
+ //# sourceMappingURL=DocumentViewer.js.map