@x15ventures/x15-ui-library 3.18.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 @@
1
+ {"version":3,"file":"DocumentViewer.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","defaultDocumentViewerLabels","default","DocumentViewer","_extends2","_react","_interopRequireWildcard","_components","_LoadingMessage","_iconHelpers","_formatters","_documentHelpers","_AnnotationLayer","_lazyEngines","_useDocumentContent","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","loadingHeading","loadingMessage","loadError","unsupported","wordNotice","imageError","getErrorDetail","error","Error","message","ANNOTATABLE_KINDS","id","document","showHeader","showMetadata","headingLevel","headerActions","metadataIcon","contentHeadingOffset","showWordNotice","renderers","getDocumentKind","getDefaultDocumentKind","resolveResourceUrl","trustedPdfOrigins","annotations","labels","customLabels","customCssClasses","onStatusChange","useMemo","kind","detectedKind","content","useDocumentContent","renderFailure","setRenderFailure","useState","renderError","loaded","undefined","handleRenderError","useCallback","isUnsupported","status","useEffect","resolveResource","resource","resolveDocumentResourceWithFallback","url","loadingIndicator","createElement","LoadingMessage","heading","isInline","builtInRenderers","pdf","title","src","className","referrerPolicy","image","onError","alt","text","markdown","headingOffset","resolve","Suspense","fallback","LazyMarkdownRenderer","word","LazyWordRenderer","arrayBuffer","cssClass","renderContent","detail","PageBanner","type","icon","displayMode","animation","disableClose","role","renderer","rendered","includes","AnnotationLayer","bytes","fileSize","file","size","Number","isFinite","formatFileSize","wrapper","trim","HeaderBar","metadata","renderIcon","customCssClass","getDocumentFileName","frame","_default"],"sources":["../../../../src/widgets/documentViewer/DocumentViewer.tsx"],"sourcesContent":["'use client';\n\nimport React, { FC, ReactNode, Suspense, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { HeaderBar, PageBanner } from '../../components';\nimport { LoadingMessage } from '../../components/design/loadingMessage/LoadingMessage';\nimport { renderIcon } from '../../helpers/iconHelpers';\nimport { formatFileSize } from '../../helpers/formatters';\nimport {\n getDocumentFileName,\n getDocumentKind as getDefaultDocumentKind,\n resolveDocumentResourceWithFallback\n} from '../shared/documents/documentHelpers';\nimport { AnnotationLayer } from '../shared/documents/annotations/AnnotationLayer';\nimport { DocumentKind, DocumentLoadStatus, LoadedDocument } from '../shared/documents/documents.interfaces';\nimport { LazyMarkdownRenderer, LazyWordRenderer } from '../shared/documents/engines/lazyEngines';\nimport { useDocumentContent } from '../shared/documents/useDocumentContent';\nimport {\n DocumentRenderers,\n DocumentViewerLabels,\n DocumentViewerProps\n} from './documentViewer.interfaces';\n\nimport './documentViewer.scss';\n\nexport const defaultDocumentViewerLabels: DocumentViewerLabels = {\n loadingHeading: 'Loading',\n loadingMessage: 'Loading document',\n loadError: 'The document could not be loaded.',\n unsupported: 'A preview is not available for this file type. Download the original file to open it.',\n wordNotice: 'This is a browser representation of the Word document. Styling and pagination may differ from the original.',\n imageError: 'The image could not be loaded.'\n};\n\nconst getErrorDetail = (error: unknown): string => (error instanceof Error ? error.message : '');\n\n// Kinds rendered into the page's own DOM, which comments can be pinned to.\nconst ANNOTATABLE_KINDS: DocumentKind[] = ['markdown', 'text'];\n\n/*\n DocumentViewer displays a document supplied as inline text, a File or a URL. PDFs and images\n use the browser's native rendering; markdown and Word documents are rendered by engines that\n are only downloaded when a document of that kind is first shown.\n */\nexport const DocumentViewer: FC<DocumentViewerProps> = (\n {\n id,\n document,\n showHeader = true,\n showMetadata = true,\n headingLevel = 3,\n headerActions,\n metadataIcon = 'file-text',\n contentHeadingOffset = 0,\n showWordNotice = true,\n renderers = {},\n getDocumentKind = getDefaultDocumentKind,\n resolveResourceUrl,\n trustedPdfOrigins,\n annotations,\n labels: customLabels,\n customCssClasses = {},\n onStatusChange\n }\n) => {\n const labels = useMemo(() => ({ ...defaultDocumentViewerLabels, ...customLabels }), [customLabels]);\n const kind = useMemo(() => {\n const detectedKind = getDefaultDocumentKind(document);\n return detectedKind === 'unsupported' || getDocumentKind === getDefaultDocumentKind\n ? detectedKind\n : getDocumentKind(document);\n }, [document, getDocumentKind]);\n const content = useDocumentContent(document, kind, { trustedPdfOrigins });\n const [renderFailure, setRenderFailure] = useState<{ loaded: LoadedDocument; error: unknown } | null>(null);\n\n // A renderer failure belongs to the content it happened on and clears once different content loads.\n const renderError = renderFailure && renderFailure.loaded === content.loaded ? renderFailure.error : undefined;\n const handleRenderError = useCallback((error: unknown) => {\n if (content.loaded) {\n setRenderFailure({ loaded: content.loaded, error });\n }\n }, [content.loaded]);\n\n const isUnsupported = content.status === 'ready' && kind === 'unsupported';\n const status: DocumentLoadStatus = renderError !== undefined || isUnsupported ? 'error' : content.status;\n const error = renderError ?? content.error;\n\n useEffect(() => {\n onStatusChange?.(status, error);\n }, [status, error, onStatusChange]);\n\n const resolveResource = useCallback(\n (resource: string) => resolveDocumentResourceWithFallback(resource, document.url, resolveResourceUrl),\n [resolveResourceUrl, document.url]\n );\n\n const loadingIndicator = (\n <LoadingMessage heading={ labels.loadingHeading } loadingMessage={ labels.loadingMessage } isInline />\n );\n\n const builtInRenderers: DocumentRenderers = {\n pdf: ({ loaded }) => (\n <iframe title={ document.title } src={ loaded.url } className=\"documentViewer__pdf\" referrerPolicy=\"no-referrer\" />\n ),\n image: ({ loaded, onError }) => (\n <img\n className=\"documentViewer__image\"\n src={ loaded.url }\n alt={ document.title }\n onError={ () => onError(new Error(labels.imageError)) }\n />\n ),\n text: ({ loaded }) => (\n <pre className=\"documentViewer__text\">\n <code>{ loaded.content }</code>\n </pre>\n ),\n markdown: ({ loaded, headingOffset, resolveResourceUrl: resolve }) => (\n <Suspense fallback={ loadingIndicator }>\n <LazyMarkdownRenderer markdown={ loaded.content ?? '' } headingOffset={ headingOffset } resolveResourceUrl={ resolve } />\n </Suspense>\n ),\n word: ({ loaded, onError }) => (\n <Suspense fallback={ loadingIndicator }>\n <LazyWordRenderer\n arrayBuffer={ loaded.arrayBuffer as ArrayBuffer }\n title={ document.title }\n cssClass=\"documentViewer__word\"\n loadingIndicator={ loadingIndicator }\n onError={ onError }\n />\n </Suspense>\n )\n };\n\n const renderContent = (): ReactNode => {\n if (status === 'idle' || status === 'loading') {\n return loadingIndicator;\n }\n if (status === 'error' || !content.loaded || kind === 'unsupported') {\n const message = isUnsupported ? labels.unsupported : labels.loadError;\n const detail = isUnsupported ? '' : getErrorDetail(error);\n return (\n <PageBanner id={ `${ id }_error` } type=\"error\" icon=\"warning\" displayMode=\"inline\" animation=\"none\" disableClose>\n <span role=\"alert\">\n { message }\n { detail && <span className=\"documentViewer__errorDetail\">{ detail }</span> }\n </span>\n </PageBanner>\n );\n }\n const renderer = renderers[kind] ?? builtInRenderers[kind];\n const rendered = renderer?.({\n document,\n loaded: content.loaded,\n resolveResourceUrl: resolveResource,\n headingOffset: contentHeadingOffset,\n onError: handleRenderError\n }) ?? null;\n if (!annotations || !ANNOTATABLE_KINDS.includes(kind)) {\n return rendered;\n }\n return <AnnotationLayer { ...annotations } id={ `${ id }_annotations` }>{ rendered }</AnnotationLayer>;\n };\n\n const bytes = document.fileSize ?? document.file?.size;\n const fileSize = bytes !== undefined && Number.isFinite(bytes) && bytes >= 0 ? formatFileSize(bytes) : '';\n\n return (\n <section\n id={ id }\n className={ `documentViewer documentViewer--${ kind } ${ customCssClasses.wrapper || '' }`.trim() }\n aria-busy={ status === 'loading' }\n >\n { showHeader && (\n <HeaderBar text={ document.title } headingLevel={ headingLevel }>\n { headerActions }\n </HeaderBar>\n ) }\n\n { showMetadata && (\n <div className={ `documentViewer__metadata ${ customCssClasses.metadata || '' }`.trim() }>\n { renderIcon(metadataIcon, { customCssClass: 'documentViewer__metadataIcon' }) }\n <span className=\"documentViewer__fileName\">{ getDocumentFileName(document) }</span>\n { fileSize && <small className=\"documentViewer__fileSize\">{ fileSize }</small> }\n </div>\n ) }\n\n { showWordNotice && kind === 'word' && status === 'ready' && (\n <PageBanner id={ `${ id }_wordNotice` } type=\"info\" displayMode=\"inline\" animation=\"none\" disableClose>\n { labels.wordNotice }\n </PageBanner>\n ) }\n\n <div className={ `documentViewer__frame ${ customCssClasses.frame || '' }`.trim() }>\n <div className={ `documentViewer__content ${ customCssClasses.content || '' }`.trim() }>\n { renderContent() }\n </div>\n </div>\n </section>\n );\n};\n\nexport default DocumentViewer;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ .documentViewer {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--documentViewerGap, var(--documentGap, 10px));
5
+ min-width: 0;
6
+ }
7
+ .documentViewer .headerBar {
8
+ margin-bottom: 0;
9
+ }
10
+
11
+ .documentViewer__metadata {
12
+ display: flex;
13
+ align-items: center;
14
+ gap: var(--documentViewerGap, var(--documentGap, 10px));
15
+ }
16
+
17
+ .documentViewer__metadataIcon {
18
+ width: var(--documentViewerMetadataIconSize, 30px);
19
+ height: var(--documentViewerMetadataIconSize, 30px);
20
+ font-size: var(--documentViewerMetadataIconSize, 30px);
21
+ }
22
+
23
+ .documentViewer__fileName {
24
+ font-weight: var(--documentViewerMetadataFileNameWeight, 600);
25
+ overflow-wrap: anywhere;
26
+ }
27
+
28
+ .documentViewer__fileSize {
29
+ color: var(--documentViewerMetadataSizeColor, var(--documentMutedFgColor));
30
+ }
31
+
32
+ .documentViewer__frame {
33
+ display: flex;
34
+ flex-direction: column;
35
+ min-height: var(--documentViewerFrameMinHeight, var(--documentFrameMinHeight, 65vh));
36
+ max-height: var(--documentViewerFrameMaxHeight, none);
37
+ border: var(--documentViewerFrameBorder, var(--documentBorder));
38
+ border-radius: var(--documentViewerFrameBorderRadius, var(--documentBorderRadius, 5px));
39
+ background: var(--documentViewerFrameBg, var(--documentBg, #fff));
40
+ overflow: auto;
41
+ }
42
+
43
+ .documentViewer__content {
44
+ display: flex;
45
+ flex: 1;
46
+ flex-direction: column;
47
+ }
48
+ .documentViewer__content > .loadingMessage,
49
+ .documentViewer__content > aside,
50
+ .documentViewer__content > .pageBanner {
51
+ margin: auto;
52
+ }
53
+
54
+ .documentViewer__pdf,
55
+ .documentViewer__word {
56
+ display: block;
57
+ flex: 1;
58
+ width: 100%;
59
+ min-height: var(--documentViewerFrameMinHeight, var(--documentFrameMinHeight, 65vh));
60
+ border: 0;
61
+ }
62
+
63
+ .documentViewer__text {
64
+ margin: 0;
65
+ padding: var(--documentViewerTextPadding, 20px);
66
+ font-size: var(--documentViewerTextFontSize, 0.8125rem);
67
+ white-space: pre-wrap;
68
+ overflow-wrap: anywhere;
69
+ }
70
+
71
+ .documentViewer__image {
72
+ display: block;
73
+ max-width: 100%;
74
+ height: auto;
75
+ margin: var(--documentViewerImageMargin, 20px auto);
76
+ }
77
+
78
+ .documentViewer__errorDetail {
79
+ display: block;
80
+ margin-top: 5px;
81
+ font-size: 0.875em;
82
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=documentViewer.interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentViewer.interfaces.js","names":[],"sources":["../../../../src/widgets/documentViewer/documentViewer.interfaces.ts"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport { IconSource } from '../../helpers/iconHelpers';\nimport { DocumentAnnotationsProps } from '../shared/documents/annotations/annotations.interfaces';\nimport {\n DocumentKind,\n DocumentLoadStatus,\n DocumentSource,\n LoadedDocument,\n ResolveResourceUrl\n} from '../shared/documents/documents.interfaces';\n\nexport type DocumentRendererProps = {\n document: DocumentSource;\n loaded: LoadedDocument;\n resolveResourceUrl: ResolveResourceUrl;\n headingOffset: number;\n /* eslint-disable-next-line no-unused-vars */\n onError: (error: unknown) => void;\n};\n\n/* eslint-disable-next-line no-unused-vars */\nexport type DocumentRenderer = (props: DocumentRendererProps) => ReactNode;\n\nexport type DocumentRenderers = Partial<Record<Exclude<DocumentKind, 'unsupported'>, DocumentRenderer>>;\n\nexport type DocumentViewerLabels = {\n loadingHeading: string;\n loadingMessage: string;\n loadError: string;\n unsupported: string;\n wordNotice: string;\n imageError: string;\n};\n\nexport type DocumentViewerCssClasses = {\n wrapper?: string;\n metadata?: string;\n frame?: string;\n content?: string;\n};\n\nexport type DocumentViewerProps = {\n id: string;\n document: DocumentSource;\n showHeader?: boolean;\n showMetadata?: boolean;\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n // Rendered inside the header bar, e.g. download or export actions.\n headerActions?: ReactNode;\n metadataIcon?: IconSource;\n // Demote headings inside markdown documents so they nest beneath the viewer's own heading.\n contentHeadingOffset?: number;\n // Show the notice that Word previews are an approximation of the original layout.\n showWordNotice?: boolean;\n // Override renderers for supported kinds; unspecified kinds use the built-in renderers.\n renderers?: DocumentRenderers;\n // Refine or reject supported kinds; cannot enable files the built-in detector rejects.\n /* eslint-disable-next-line no-unused-vars */\n getDocumentKind?: (document: DocumentSource) => DocumentKind;\n // Rewrite links and images inside rendered content; defaults to resolving against the document URL.\n resolveResourceUrl?: ResolveResourceUrl;\n // PDFs are fetched and checked before display. Origins listed here (e.g. 'https://docs.example.com')\n // may instead be framed directly when their server does not allow cross-origin requests. Trusting an\n // origin trusts everything it serves and redirects to.\n trustedPdfOrigins?: string[];\n // Pinned comments on markdown and text documents. PDF and Word previews render in isolated frames\n // the page cannot reach into, so they cannot be annotated.\n annotations?: DocumentAnnotationsProps;\n labels?: Partial<DocumentViewerLabels>;\n customCssClasses?: DocumentViewerCssClasses;\n /* eslint-disable-next-line no-unused-vars */\n onStatusChange?: (status: DocumentLoadStatus, error?: unknown) => void;\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, "DocumentViewer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DocumentViewer.DocumentViewer;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "defaultDocumentViewerLabels", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _DocumentViewer.defaultDocumentViewerLabels;
16
+ }
17
+ });
18
+ var _DocumentViewer = require("./DocumentViewer");
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_DocumentViewer","require"],"sources":["../../../../src/widgets/documentViewer/index.ts"],"sourcesContent":["export { DocumentViewer, defaultDocumentViewerLabels } from './DocumentViewer';\n\nexport type {\n DocumentRenderer,\n DocumentRendererProps,\n DocumentRenderers,\n DocumentViewerCssClasses,\n DocumentViewerLabels,\n DocumentViewerProps\n} from './documentViewer.interfaces';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA","ignoreList":[]}
@@ -4,11 +4,137 @@
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "AnnotationLayer", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _annotations.AnnotationLayer;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "DocumentComments", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _documentComments.DocumentComments;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "DocumentComparer", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _documentComparer.DocumentComparer;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "DocumentEditor", {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _documentEditor.DocumentEditor;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "DocumentViewer", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _documentViewer.DocumentViewer;
35
+ }
36
+ });
7
37
  Object.defineProperty(exports, "ProcessLauncher", {
8
38
  enumerable: true,
9
39
  get: function () {
10
40
  return _processLauncher.ProcessLauncher;
11
41
  }
12
42
  });
43
+ Object.defineProperty(exports, "createTextQuoteAnchor", {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _annotations.createTextQuoteAnchor;
47
+ }
48
+ });
49
+ Object.defineProperty(exports, "createTextQuoteResolver", {
50
+ enumerable: true,
51
+ get: function () {
52
+ return _annotations.createTextQuoteResolver;
53
+ }
54
+ });
55
+ Object.defineProperty(exports, "defaultDocumentAnnotationLabels", {
56
+ enumerable: true,
57
+ get: function () {
58
+ return _annotations.defaultDocumentAnnotationLabels;
59
+ }
60
+ });
61
+ Object.defineProperty(exports, "defaultDocumentCommentsLabels", {
62
+ enumerable: true,
63
+ get: function () {
64
+ return _documentComments.defaultDocumentCommentsLabels;
65
+ }
66
+ });
67
+ Object.defineProperty(exports, "defaultDocumentComparerLabels", {
68
+ enumerable: true,
69
+ get: function () {
70
+ return _documentComparer.defaultDocumentComparerLabels;
71
+ }
72
+ });
73
+ Object.defineProperty(exports, "defaultDocumentEditorLabels", {
74
+ enumerable: true,
75
+ get: function () {
76
+ return _documentEditor.defaultDocumentEditorLabels;
77
+ }
78
+ });
79
+ Object.defineProperty(exports, "defaultDocumentViewerLabels", {
80
+ enumerable: true,
81
+ get: function () {
82
+ return _documentViewer.defaultDocumentViewerLabels;
83
+ }
84
+ });
85
+ Object.defineProperty(exports, "fetchDocumentAsArrayBuffer", {
86
+ enumerable: true,
87
+ get: function () {
88
+ return _documents.fetchDocumentAsArrayBuffer;
89
+ }
90
+ });
91
+ Object.defineProperty(exports, "fetchDocumentAsText", {
92
+ enumerable: true,
93
+ get: function () {
94
+ return _documents.fetchDocumentAsText;
95
+ }
96
+ });
97
+ Object.defineProperty(exports, "getDocumentExtension", {
98
+ enumerable: true,
99
+ get: function () {
100
+ return _documents.getDocumentExtension;
101
+ }
102
+ });
103
+ Object.defineProperty(exports, "getDocumentFileName", {
104
+ enumerable: true,
105
+ get: function () {
106
+ return _documents.getDocumentFileName;
107
+ }
108
+ });
109
+ Object.defineProperty(exports, "getDocumentKind", {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _documents.getDocumentKind;
113
+ }
114
+ });
115
+ Object.defineProperty(exports, "resolveDocumentResource", {
116
+ enumerable: true,
117
+ get: function () {
118
+ return _documents.resolveDocumentResource;
119
+ }
120
+ });
121
+ Object.defineProperty(exports, "resolveTextQuoteAnchor", {
122
+ enumerable: true,
123
+ get: function () {
124
+ return _annotations.resolveTextQuoteAnchor;
125
+ }
126
+ });
127
+ Object.defineProperty(exports, "useDocumentContent", {
128
+ enumerable: true,
129
+ get: function () {
130
+ return _documents.useDocumentContent;
131
+ }
132
+ });
13
133
  var _processLauncher = require("./processLauncher");
134
+ var _documentViewer = require("./documentViewer");
135
+ var _documentEditor = require("./documentEditor");
136
+ var _documentComparer = require("./documentComparer");
137
+ var _documentComments = require("./documentComments");
138
+ var _annotations = require("./shared/documents/annotations");
139
+ var _documents = require("./shared/documents");
14
140
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Object","defineProperty","exports","value","enumerable","get","_processLauncher","ProcessLauncher","require"],"sources":["../../../src/widgets/index.ts"],"sourcesContent":["'use client';\n\nexport { ProcessLauncher } from './processLauncher';\n\nexport type {\n ProcessLauncherProps,\n ProcessDefinition,\n ProcessLaunchButtonProps,\n ProcessProgressIndicatorProps,\n ProcessStatus,\n ProcessProgressUpdateMode,\n ProcessPushableStatus,\n ProcessProgressUpdate,\n ProcessProgressSubscriptionHandlers,\n ProcessProgressUnsubscribe,\n ProcessProgressSubscription,\n ProcessLauncherFetchProgressProps,\n ProcessLauncherSubscribeProgressProps,\n ProcessLauncherProgressProps\n} from './processLauncher';\n"],"mappings":";AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAH,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAE,UAAA;EAAAC,GAAA,WAAAA,CAAA;IAAA,OAAAC,gBAAA,CAAAC,eAAA;EAAA;AAAA;AAEb,IAAAD,gBAAA,GAAAE,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Object","defineProperty","exports","value","enumerable","get","_annotations","AnnotationLayer","_documentComments","DocumentComments","_documentComparer","DocumentComparer","_documentEditor","DocumentEditor","_documentViewer","DocumentViewer","_processLauncher","ProcessLauncher","createTextQuoteAnchor","createTextQuoteResolver","defaultDocumentAnnotationLabels","defaultDocumentCommentsLabels","defaultDocumentComparerLabels","defaultDocumentEditorLabels","defaultDocumentViewerLabels","_documents","fetchDocumentAsArrayBuffer","fetchDocumentAsText","getDocumentExtension","getDocumentFileName","getDocumentKind","resolveDocumentResource","resolveTextQuoteAnchor","useDocumentContent","require"],"sources":["../../../src/widgets/index.ts"],"sourcesContent":["'use client';\n\nexport { ProcessLauncher } from './processLauncher';\n\nexport type {\n ProcessLauncherProps,\n ProcessDefinition,\n ProcessLaunchButtonProps,\n ProcessProgressIndicatorProps,\n ProcessStatus,\n ProcessProgressUpdateMode,\n ProcessPushableStatus,\n ProcessProgressUpdate,\n ProcessProgressSubscriptionHandlers,\n ProcessProgressUnsubscribe,\n ProcessProgressSubscription,\n ProcessLauncherFetchProgressProps,\n ProcessLauncherSubscribeProgressProps,\n ProcessLauncherProgressProps\n} from './processLauncher';\n\nexport { DocumentViewer, defaultDocumentViewerLabels } from './documentViewer';\nexport type {\n DocumentRenderer,\n DocumentRendererProps,\n DocumentRenderers,\n DocumentViewerCssClasses,\n DocumentViewerLabels,\n DocumentViewerProps\n} from './documentViewer';\n\nexport { DocumentEditor, defaultDocumentEditorLabels } from './documentEditor';\nexport type {\n DocumentEditorCssClasses,\n DocumentEditorLabels,\n DocumentEditorProps,\n MarkdownEditorImageUploadHandler,\n MarkdownEditorListType,\n MarkdownEditorToolbarItem,\n MarkdownEditorViewMode\n} from './documentEditor';\n\nexport { DocumentComparer, defaultDocumentComparerLabels } from './documentComparer';\nexport type {\n ComparisonDocument,\n DocumentComparerCssClasses,\n DocumentComparerLabels,\n DocumentComparerProps,\n DocumentComparerSaveUpdate,\n DocumentComparerView,\n DocumentDiffView\n} from './documentComparer';\n\nexport { DocumentComments, defaultDocumentCommentsLabels } from './documentComments';\nexport type {\n DocumentCommentsCssClasses,\n DocumentCommentsFilter,\n DocumentCommentsLabels,\n DocumentCommentsProps,\n NewDocumentComment\n} from './documentComments';\n\nexport {\n AnnotationLayer,\n createTextQuoteAnchor,\n createTextQuoteResolver,\n defaultDocumentAnnotationLabels,\n resolveTextQuoteAnchor\n} from './shared/documents/annotations';\nexport type {\n AnnotationLayerProps,\n DocumentAnchorStatus,\n DocumentAnnotationLabels,\n DocumentAnnotationsProps,\n DocumentComment,\n DocumentCommentAuthor,\n DocumentCommentReply,\n TextQuoteAnchor\n} from './shared/documents/annotations';\n\nexport {\n fetchDocumentAsArrayBuffer,\n fetchDocumentAsText,\n getDocumentExtension,\n getDocumentFileName,\n getDocumentKind,\n resolveDocumentResource,\n useDocumentContent\n} from './shared/documents';\nexport type {\n DocumentContentState,\n DocumentKind,\n DocumentLoadStatus,\n DocumentSource,\n LoadedDocument,\n ResolveResourceUrl\n} from './shared/documents';\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ToggleGroup = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _components = require("../../../components");
10
+ require("./toggleGroup.css");
11
+ // A set of mutually exclusive view toggles, e.g. side by side / differences, open / resolved.
12
+ const ToggleGroup = ({
13
+ id,
14
+ legend,
15
+ options,
16
+ value,
17
+ onChange
18
+ }) => /*#__PURE__*/_react.default.createElement("fieldset", {
19
+ className: "documentToggleGroup"
20
+ }, /*#__PURE__*/_react.default.createElement("legend", {
21
+ className: "sr-only"
22
+ }, legend), options.map(option => /*#__PURE__*/_react.default.createElement(_components.SimpleButton, {
23
+ key: option.value,
24
+ id: `${id}_${option.value}`,
25
+ label: option.label,
26
+ ariaPressed: option.value === value,
27
+ cssClass: option.value === value ? 'button primary compact' : 'button secondary outline compact',
28
+ onClickHandler: () => onChange(option.value)
29
+ })));
30
+ exports.ToggleGroup = ToggleGroup;
31
+ var _default = exports.default = ToggleGroup;
32
+ //# sourceMappingURL=ToggleGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleGroup.js","names":["_react","_interopRequireDefault","require","_components","ToggleGroup","id","legend","options","value","onChange","default","createElement","className","map","option","SimpleButton","key","label","ariaPressed","cssClass","onClickHandler","exports","_default"],"sources":["../../../../../src/widgets/shared/documents/ToggleGroup.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SimpleButton } from '../../../components';\n\nimport './toggleGroup.scss';\n\nexport type ToggleOption<T extends string> = { value: T; label: string };\n\nexport type ToggleGroupProps<T extends string> = {\n id: string;\n // Announced to assistive technology; the group has no visible title.\n legend: string;\n options: ToggleOption<T>[];\n value: T;\n /* eslint-disable-next-line no-unused-vars */\n onChange: (value: T) => void;\n};\n\n// A set of mutually exclusive view toggles, e.g. side by side / differences, open / resolved.\nexport const ToggleGroup = <T extends string>({ id, legend, options, value, onChange }: ToggleGroupProps<T>) => (\n <fieldset className=\"documentToggleGroup\">\n <legend className=\"sr-only\">{ legend }</legend>\n { options.map((option) => (\n <SimpleButton\n key={ option.value }\n id={ `${ id }_${ option.value }` }\n label={ option.label }\n ariaPressed={ option.value === value }\n cssClass={ option.value === value ? 'button primary compact' : 'button secondary outline compact' }\n onClickHandler={ () => onChange(option.value) }\n />\n )) }\n </fieldset>\n);\n\nexport default ToggleGroup;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEAA,OAAA;AAcA;AACO,MAAME,WAAW,GAAGA,CAAmB;EAAEC,EAAE;EAAEC,MAAM;EAAEC,OAAO;EAAEC,KAAK;EAAEC;AAA8B,CAAC,kBACzGT,MAAA,CAAAU,OAAA,CAAAC,aAAA;EAAUC,SAAS,EAAC;AAAqB,gBACvCZ,MAAA,CAAAU,OAAA,CAAAC,aAAA;EAAQC,SAAS,EAAC;AAAS,GAAGN,MAAgB,CAAC,EAC7CC,OAAO,CAACM,GAAG,CAAEC,MAAM,iBACnBd,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACR,WAAA,CAAAY,YAAY;EACXC,GAAG,EAAGF,MAAM,CAACN,KAAO;EACpBH,EAAE,EAAG,GAAIA,EAAE,IAAMS,MAAM,CAACN,KAAK,EAAK;EAClCS,KAAK,EAAGH,MAAM,CAACG,KAAO;EACtBC,WAAW,EAAGJ,MAAM,CAACN,KAAK,KAAKA,KAAO;EACtCW,QAAQ,EAAGL,MAAM,CAACN,KAAK,KAAKA,KAAK,GAAG,wBAAwB,GAAG,kCAAoC;EACnGY,cAAc,EAAGA,CAAA,KAAMX,QAAQ,CAACK,MAAM,CAACN,KAAK;AAAG,CAChD,CACF,CACO,CACX;AAACa,OAAA,CAAAjB,WAAA,GAAAA,WAAA;AAAA,IAAAkB,QAAA,GAAAD,OAAA,CAAAX,OAAA,GAEaN,WAAW","ignoreList":[]}
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.AnnotationLayer = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _components = require("../../../../components");
10
+ var _interactionsHelper = require("../../../../helpers/interactionsHelper");
11
+ var _annotations = require("./annotations.interfaces");
12
+ var _highlightRegistry = require("./highlightRegistry");
13
+ var _textIndex = require("./textIndex");
14
+ var _textQuoteAnchor = require("./textQuoteAnchor");
15
+ require("./annotationLayer.css");
16
+ 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); }
17
+ // A selection made somewhere the layer cannot see through the DOM, e.g. the markdown source editor.
18
+
19
+ const sameStatus = (first, second) => first !== null && Object.keys(first).length === Object.keys(second).length && Object.entries(second).every(([commentId, attached]) => first[commentId] === attached);
20
+
21
+ // Geometry changes with every layout, so positions are passed to CSS as custom properties.
22
+ const positionStyle = ({
23
+ top,
24
+ left
25
+ }) => ({
26
+ '--documentAnnotationTop': `${top}px`,
27
+ '--documentAnnotationLeft': `${left}px`
28
+ });
29
+
30
+ /*
31
+ AnnotationLayer pins comments to the text of its children. It highlights each comment's quoted
32
+ text, places a bubble at the end of it, offers a "Comment" action for new selections, and reports
33
+ which comments could still be found. It never changes the annotated DOM, so it can wrap content
34
+ owned by another library such as the rich-text editor.
35
+ */
36
+ const AnnotationLayer = ({
37
+ id,
38
+ children,
39
+ comments,
40
+ selectedCommentId,
41
+ canComment = false,
42
+ showResolved = false,
43
+ onRequestComment,
44
+ onSelectComment,
45
+ onAnchorStatusChange,
46
+ labels: customLabels,
47
+ getTextRoot,
48
+ externalSelection = null,
49
+ onExternalSelectionConsumed
50
+ }) => {
51
+ const labels = (0, _react.useMemo)(() => ({
52
+ ..._annotations.defaultDocumentAnnotationLabels,
53
+ ...customLabels
54
+ }), [customLabels]);
55
+ const instanceId = (0, _react.useId)();
56
+ const containerRef = (0, _react.useRef)(null);
57
+ const contentRef = (0, _react.useRef)(null);
58
+ const reportedStatusRef = (0, _react.useRef)(null);
59
+ const frameRef = (0, _react.useRef)(null);
60
+ const [markers, setMarkers] = (0, _react.useState)([]);
61
+ const [domSelection, setDomSelection] = (0, _react.useState)(null);
62
+ const visibleComments = (0, _react.useMemo)(() => (0, _annotations.getVisibleComments)(comments, showResolved), [comments, showResolved]);
63
+ const findTextRoot = (0, _react.useCallback)(() => {
64
+ const content = contentRef.current;
65
+ if (!content) {
66
+ return null;
67
+ }
68
+ return getTextRoot ? getTextRoot(content) : content;
69
+ }, [getTextRoot]);
70
+
71
+ // Converts viewport coordinates to coordinates within the layer, where the overlay is positioned.
72
+ const toLayerPosition = (0, _react.useCallback)((viewportTop, viewportLeft) => {
73
+ const container = containerRef.current;
74
+ if (!container) {
75
+ return null;
76
+ }
77
+ const containerRect = container.getBoundingClientRect();
78
+ return {
79
+ top: viewportTop - containerRect.top,
80
+ left: viewportLeft - containerRect.left
81
+ };
82
+ }, []);
83
+ const updateAnnotations = (0, _react.useCallback)(() => {
84
+ const root = findTextRoot();
85
+ if (!root) {
86
+ setMarkers([]);
87
+ (0, _highlightRegistry.clearInstanceHighlights)(instanceId);
88
+ return;
89
+ }
90
+ const index = (0, _textIndex.buildTextIndex)(root);
91
+ const status = {};
92
+ const commentRanges = [];
93
+ const selectedRanges = [];
94
+ const nextMarkers = [];
95
+ const resolveAnchor = (0, _textQuoteAnchor.createTextQuoteResolver)(index.text);
96
+ visibleComments.forEach(comment => {
97
+ const match = comment.anchor ? resolveAnchor(comment.anchor) : null;
98
+ const range = match ? (0, _textIndex.rangeFromOffsets)(index, match.start, match.end) : null;
99
+ status[comment.id] = range !== null;
100
+ if (!range) {
101
+ return;
102
+ }
103
+ (comment.id === selectedCommentId ? selectedRanges : commentRanges).push(range);
104
+ // Hidden content (e.g. the rich-text view while source mode is shown) has no visible rects.
105
+ const lastRect = Array.from(range.getClientRects?.() ?? []).filter(rect => rect.width || rect.height).pop();
106
+ const position = lastRect ? toLayerPosition(lastRect.top, lastRect.right) : null;
107
+ if (position) {
108
+ nextMarkers.push({
109
+ ...position,
110
+ commentId: comment.id,
111
+ authorName: comment.author.name
112
+ });
113
+ }
114
+ });
115
+ (0, _highlightRegistry.setInstanceHighlights)(instanceId, {
116
+ comments: commentRanges,
117
+ selected: selectedRanges
118
+ });
119
+ setMarkers(nextMarkers);
120
+ if (!sameStatus(reportedStatusRef.current, status)) {
121
+ reportedStatusRef.current = status;
122
+ onAnchorStatusChange?.(status);
123
+ }
124
+ }, [findTextRoot, instanceId, visibleComments, selectedCommentId, toLayerPosition, onAnchorStatusChange]);
125
+ const scheduleUpdate = (0, _react.useCallback)(() => {
126
+ if (frameRef.current !== null) {
127
+ return;
128
+ }
129
+ frameRef.current = window.requestAnimationFrame(() => {
130
+ frameRef.current = null;
131
+ updateAnnotations();
132
+ });
133
+ }, [updateAnnotations]);
134
+ (0, _react.useLayoutEffect)(() => {
135
+ updateAnnotations();
136
+ }, [updateAnnotations]);
137
+
138
+ // Content can change without React knowing: lazy engines finish loading, the editor applies edits.
139
+ (0, _react.useEffect)(() => {
140
+ const container = containerRef.current;
141
+ const content = contentRef.current;
142
+ if (!container || !content) {
143
+ return undefined;
144
+ }
145
+ const mutationObserver = new MutationObserver(scheduleUpdate);
146
+ mutationObserver.observe(content, {
147
+ subtree: true,
148
+ childList: true,
149
+ characterData: true
150
+ });
151
+ const resizeObserver = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(scheduleUpdate);
152
+ resizeObserver?.observe(container);
153
+ window.addEventListener('resize', scheduleUpdate);
154
+ return () => {
155
+ mutationObserver.disconnect();
156
+ resizeObserver?.disconnect();
157
+ window.removeEventListener('resize', scheduleUpdate);
158
+ if (frameRef.current !== null) {
159
+ window.cancelAnimationFrame(frameRef.current);
160
+ frameRef.current = null;
161
+ }
162
+ };
163
+ }, [scheduleUpdate]);
164
+ (0, _react.useEffect)(() => () => (0, _highlightRegistry.clearInstanceHighlights)(instanceId), [instanceId]);
165
+ (0, _react.useEffect)(() => {
166
+ if (!canComment) {
167
+ setDomSelection(null);
168
+ return undefined;
169
+ }
170
+ const handleSelectionChange = () => {
171
+ const root = findTextRoot();
172
+ const selection = document.getSelection();
173
+ if (!root || !selection || selection.rangeCount === 0 || selection.isCollapsed) {
174
+ setDomSelection(null);
175
+ return;
176
+ }
177
+ const range = selection.getRangeAt(0);
178
+ if (!root.contains(range.commonAncestorContainer)) {
179
+ setDomSelection(null);
180
+ return;
181
+ }
182
+ const index = (0, _textIndex.buildTextIndex)(root);
183
+ const {
184
+ start,
185
+ end
186
+ } = (0, _textIndex.offsetsFromRange)(index, range);
187
+ const anchor = (0, _textQuoteAnchor.createTextQuoteAnchor)(index.text, start, end);
188
+ const lastRect = Array.from(range.getClientRects?.() ?? []).pop() ?? range.getBoundingClientRect?.();
189
+ const position = anchor && lastRect ? toLayerPosition(lastRect.bottom, lastRect.right) : null;
190
+ setDomSelection(anchor && position ? {
191
+ ...position,
192
+ anchor
193
+ } : null);
194
+ };
195
+ document.addEventListener('selectionchange', handleSelectionChange);
196
+ return () => document.removeEventListener('selectionchange', handleSelectionChange);
197
+ }, [canComment, findTextRoot, toLayerPosition]);
198
+
199
+ // Read through a ref so only a change of selected comment scrolls; comment edits must not move the reader.
200
+ const latestRef = (0, _react.useRef)({
201
+ visibleComments,
202
+ findTextRoot
203
+ });
204
+ latestRef.current = {
205
+ visibleComments,
206
+ findTextRoot
207
+ };
208
+
209
+ // Scroll a newly selected comment into view, e.g. after it is chosen in the comments panel.
210
+ (0, _react.useEffect)(() => {
211
+ const comment = latestRef.current.visibleComments.find(candidate => candidate.id === selectedCommentId);
212
+ const root = latestRef.current.findTextRoot();
213
+ if (!comment?.anchor || !root) {
214
+ return;
215
+ }
216
+ const index = (0, _textIndex.buildTextIndex)(root);
217
+ const match = (0, _textQuoteAnchor.resolveTextQuoteAnchor)(index.text, comment.anchor);
218
+ const range = match ? (0, _textIndex.rangeFromOffsets)(index, match.start, match.end) : null;
219
+ range?.startContainer.parentElement?.scrollIntoView?.({
220
+ block: 'center',
221
+ behavior: (0, _interactionsHelper.getPreferredScrollBehavior)()
222
+ });
223
+ }, [selectedCommentId]);
224
+ const externalPosition = externalSelection ? toLayerPosition(externalSelection.rect.bottom, externalSelection.rect.right) : null;
225
+ const pending = externalSelection && externalPosition ? {
226
+ ...externalPosition,
227
+ anchor: externalSelection.anchor
228
+ } : domSelection;
229
+ const handleRequestComment = () => {
230
+ if (!pending) {
231
+ return;
232
+ }
233
+ onRequestComment?.(pending.anchor);
234
+ if (externalSelection) {
235
+ onExternalSelectionConsumed?.();
236
+ } else {
237
+ document.getSelection()?.removeAllRanges();
238
+ }
239
+ setDomSelection(null);
240
+ };
241
+ return /*#__PURE__*/_react.default.createElement("div", {
242
+ id: id,
243
+ className: "documentAnnotations",
244
+ ref: containerRef
245
+ }, /*#__PURE__*/_react.default.createElement("div", {
246
+ className: "documentAnnotations__content",
247
+ ref: contentRef
248
+ }, children), /*#__PURE__*/_react.default.createElement("div", {
249
+ className: "documentAnnotations__overlay"
250
+ }, markers.map(marker => /*#__PURE__*/_react.default.createElement("div", {
251
+ key: marker.commentId,
252
+ className: "documentAnnotations__bubble",
253
+ style: positionStyle(marker)
254
+ }, /*#__PURE__*/_react.default.createElement(_components.SimpleButton, {
255
+ id: `${id}_bubble_${marker.commentId}`,
256
+ label: labels.openComment(marker.authorName),
257
+ hideLabel: true,
258
+ leftIcon: "bubbles4",
259
+ ariaPressed: marker.commentId === selectedCommentId,
260
+ cssClass: `button icon-only compact documentAnnotations__bubbleButton ${marker.commentId === selectedCommentId ? 'documentAnnotations__bubbleButton--selected' : ''}`,
261
+ onClickHandler: () => onSelectComment?.(marker.commentId)
262
+ }))), canComment && pending &&
263
+ /*#__PURE__*/
264
+ // Pressing the button must not clear the text selection it acts on.
265
+ _react.default.createElement("div", {
266
+ className: "documentAnnotations__trigger",
267
+ style: positionStyle(pending),
268
+ onMouseDown: event => event.preventDefault()
269
+ }, /*#__PURE__*/_react.default.createElement(_components.SimpleButton, {
270
+ id: `${id}_addComment`,
271
+ label: labels.addComment,
272
+ leftIcon: "bubble",
273
+ cssClass: "button primary compact documentAnnotations__triggerButton",
274
+ onClickHandler: handleRequestComment
275
+ }))));
276
+ };
277
+ exports.AnnotationLayer = AnnotationLayer;
278
+ var _default = exports.default = AnnotationLayer;
279
+ //# sourceMappingURL=AnnotationLayer.js.map