@vertesia/ui 0.80.0-dev.20251121 → 0.80.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 (277) hide show
  1. package/README.md +105 -0
  2. package/lib/esm/core/components/MenuList.js +2 -5
  3. package/lib/esm/core/components/MenuList.js.map +1 -1
  4. package/lib/esm/core/components/MessageBox.js +1 -1
  5. package/lib/esm/core/components/MessageBox.js.map +1 -1
  6. package/lib/esm/core/components/shadcn/dialog.js +16 -2
  7. package/lib/esm/core/components/shadcn/dialog.js.map +1 -1
  8. package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js +6 -9
  9. package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js.map +1 -1
  10. package/lib/esm/core/components/shadcn/filters/filterBar.js +1 -1
  11. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  12. package/lib/esm/core/components/shadcn/selectBox.js +23 -5
  13. package/lib/esm/core/components/shadcn/selectBox.js.map +1 -1
  14. package/lib/esm/core/components/shadcn/tabs.js +3 -3
  15. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  16. package/lib/esm/env/index.js +3 -0
  17. package/lib/esm/env/index.js.map +1 -1
  18. package/lib/esm/features/agent/chat/AgentChart.js +184 -0
  19. package/lib/esm/features/agent/chat/AgentChart.js.map +1 -0
  20. package/lib/esm/features/agent/chat/ModernAgentConversation.js +87 -10
  21. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  22. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +6 -2
  23. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  24. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +4 -4
  25. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  26. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +4 -1
  27. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  28. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +12 -4
  29. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  30. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +60 -56
  31. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  32. package/lib/esm/features/agent/chat/index.js +1 -0
  33. package/lib/esm/features/agent/chat/index.js.map +1 -1
  34. package/lib/esm/features/agent/createChartTool.js +354 -0
  35. package/lib/esm/features/agent/createChartTool.js.map +1 -0
  36. package/lib/esm/features/agent/examples.js +295 -0
  37. package/lib/esm/features/agent/examples.js.map +1 -0
  38. package/lib/esm/features/agent/index.js +2 -0
  39. package/lib/esm/features/agent/index.js.map +1 -1
  40. package/lib/esm/features/agent/visualization.js +165 -0
  41. package/lib/esm/features/agent/visualization.js.map +1 -0
  42. package/lib/esm/features/facets/CollectionsFacetsNav.js +5 -1
  43. package/lib/esm/features/facets/CollectionsFacetsNav.js.map +1 -1
  44. package/lib/esm/features/index.js +1 -0
  45. package/lib/esm/features/index.js.map +1 -1
  46. package/lib/esm/features/layout/GenericPageNavHeader.js +14 -4
  47. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  48. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +268 -0
  49. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -0
  50. package/lib/esm/features/magic-pdf/DownloadPopover.js +11 -11
  51. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
  52. package/lib/esm/features/magic-pdf/ExtractedContentView.js +77 -0
  53. package/lib/esm/features/magic-pdf/ExtractedContentView.js.map +1 -0
  54. package/lib/esm/features/magic-pdf/MagicPdfProvider.js +242 -0
  55. package/lib/esm/features/magic-pdf/MagicPdfProvider.js.map +1 -0
  56. package/lib/esm/features/magic-pdf/MagicPdfView.js +41 -47
  57. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
  58. package/lib/esm/features/pdf-viewer/PdfPageRenderer.js +261 -0
  59. package/lib/esm/features/pdf-viewer/PdfPageRenderer.js.map +1 -0
  60. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +276 -0
  61. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -0
  62. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +71 -0
  63. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -0
  64. package/lib/esm/features/pdf-viewer/index.js +4 -0
  65. package/lib/esm/features/pdf-viewer/index.js.map +1 -0
  66. package/lib/esm/features/store/collections/EditCollectionView.js +3 -5
  67. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  68. package/lib/esm/features/store/collections/SharedPropsEditor.js +1 -2
  69. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
  70. package/lib/esm/features/store/objects/DocumentSearchResults.js +0 -7
  71. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  72. package/lib/esm/features/store/objects/components/ContentOverview.js +273 -83
  73. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  74. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +153 -0
  75. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -0
  76. package/lib/esm/features/store/objects/layout/DocumentTableColumn.js +3 -3
  77. package/lib/esm/features/store/objects/layout/DocumentTableColumn.js.map +1 -1
  78. package/lib/esm/features/store/objects/layout/renderers.js +13 -0
  79. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  80. package/lib/esm/features/utils/index.js +2 -0
  81. package/lib/esm/features/utils/index.js.map +1 -1
  82. package/lib/esm/features/utils/mimeType.js +8 -0
  83. package/lib/esm/features/utils/mimeType.js.map +1 -1
  84. package/lib/esm/features/utils/print.js +181 -0
  85. package/lib/esm/features/utils/print.js.map +1 -0
  86. package/lib/esm/features/utils/workflowStatus.js +43 -0
  87. package/lib/esm/features/utils/workflowStatus.js.map +1 -0
  88. package/lib/esm/router/HistoryNavigator.js +22 -2
  89. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  90. package/lib/esm/shell/login/UserInfo.js +2 -1
  91. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  92. package/lib/esm/shell/login/UserSessionMenu.js +7 -1
  93. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
  94. package/lib/esm/widgets/form/Form.js +6 -2
  95. package/lib/esm/widgets/form/Form.js.map +1 -1
  96. package/lib/esm/widgets/markdown/MarkdownRenderer.js +226 -4
  97. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  98. package/lib/esm/widgets/schema-editor/ManagedSchema.js +0 -3
  99. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  100. package/lib/esm/widgets/schema-editor/json-schema4-utils.js +1 -1
  101. package/lib/esm/widgets/schema-editor/json-schema4-utils.js.map +1 -1
  102. package/lib/esm/widgets/xml-viewer/components/XMLViewer.js +18 -9
  103. package/lib/esm/widgets/xml-viewer/components/XMLViewer.js.map +1 -1
  104. package/lib/esm/widgets/xml-viewer/constants/index.js +10 -0
  105. package/lib/esm/widgets/xml-viewer/constants/index.js.map +1 -1
  106. package/lib/tsconfig.tsbuildinfo +1 -1
  107. package/lib/types/core/components/MessageBox.d.ts.map +1 -1
  108. package/lib/types/core/components/shadcn/dialog.d.ts +2 -1
  109. package/lib/types/core/components/shadcn/dialog.d.ts.map +1 -1
  110. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  111. package/lib/types/core/components/shadcn/selectBox.d.ts +5 -1
  112. package/lib/types/core/components/shadcn/selectBox.d.ts.map +1 -1
  113. package/lib/types/core/components/shadcn/tabs.d.ts +3 -1
  114. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  115. package/lib/types/env/index.d.ts +2 -0
  116. package/lib/types/env/index.d.ts.map +1 -1
  117. package/lib/types/features/agent/chat/AgentChart.d.ts +48 -0
  118. package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -0
  119. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  120. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -2
  121. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  122. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +2 -1
  123. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  124. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +4 -2
  125. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  126. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +2 -4
  127. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  128. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  129. package/lib/types/features/agent/chat/index.d.ts +1 -0
  130. package/lib/types/features/agent/chat/index.d.ts.map +1 -1
  131. package/lib/types/features/agent/createChartTool.d.ts +178 -0
  132. package/lib/types/features/agent/createChartTool.d.ts.map +1 -0
  133. package/lib/types/features/agent/examples.d.ts +59 -0
  134. package/lib/types/features/agent/examples.d.ts.map +1 -0
  135. package/lib/types/features/agent/index.d.ts +2 -0
  136. package/lib/types/features/agent/index.d.ts.map +1 -1
  137. package/lib/types/features/agent/visualization.d.ts +95 -0
  138. package/lib/types/features/agent/visualization.d.ts.map +1 -0
  139. package/lib/types/features/facets/CollectionsFacetsNav.d.ts.map +1 -1
  140. package/lib/types/features/index.d.ts +1 -0
  141. package/lib/types/features/index.d.ts.map +1 -1
  142. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  143. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts +13 -0
  144. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -0
  145. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  146. package/lib/types/features/magic-pdf/ExtractedContentView.d.ts +8 -0
  147. package/lib/types/features/magic-pdf/ExtractedContentView.d.ts.map +1 -0
  148. package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts +58 -0
  149. package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -0
  150. package/lib/types/features/magic-pdf/MagicPdfView.d.ts +1 -1
  151. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  152. package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts +83 -0
  153. package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts.map +1 -0
  154. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts +29 -0
  155. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -0
  156. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts +19 -0
  157. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -0
  158. package/lib/types/features/pdf-viewer/index.d.ts +4 -0
  159. package/lib/types/features/pdf-viewer/index.d.ts.map +1 -0
  160. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  161. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
  162. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  163. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  164. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts +30 -0
  165. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -0
  166. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  167. package/lib/types/features/utils/index.d.ts +2 -0
  168. package/lib/types/features/utils/index.d.ts.map +1 -1
  169. package/lib/types/features/utils/mimeType.d.ts +1 -0
  170. package/lib/types/features/utils/mimeType.d.ts.map +1 -1
  171. package/lib/types/features/utils/print.d.ts +10 -0
  172. package/lib/types/features/utils/print.d.ts.map +1 -0
  173. package/lib/types/features/utils/workflowStatus.d.ts +10 -0
  174. package/lib/types/features/utils/workflowStatus.d.ts.map +1 -0
  175. package/lib/types/router/HistoryNavigator.d.ts +3 -0
  176. package/lib/types/router/HistoryNavigator.d.ts.map +1 -1
  177. package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
  178. package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
  179. package/lib/types/widgets/form/Form.d.ts.map +1 -1
  180. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts +5 -1
  181. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  182. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  183. package/lib/types/widgets/xml-viewer/components/XMLViewer.d.ts.map +1 -1
  184. package/lib/types/widgets/xml-viewer/constants/index.d.ts +10 -0
  185. package/lib/types/widgets/xml-viewer/constants/index.d.ts.map +1 -1
  186. package/lib/vertesia-ui-core.js +1 -1
  187. package/lib/vertesia-ui-core.js.map +1 -1
  188. package/lib/vertesia-ui-env.js +1 -1
  189. package/lib/vertesia-ui-env.js.map +1 -1
  190. package/lib/vertesia-ui-features.js +1 -1
  191. package/lib/vertesia-ui-features.js.map +1 -1
  192. package/lib/vertesia-ui-layout.js +1 -1
  193. package/lib/vertesia-ui-layout.js.map +1 -1
  194. package/lib/vertesia-ui-router.js +1 -1
  195. package/lib/vertesia-ui-router.js.map +1 -1
  196. package/lib/vertesia-ui-session.js +1 -1
  197. package/lib/vertesia-ui-session.js.map +1 -1
  198. package/lib/vertesia-ui-shell.js +1 -1
  199. package/lib/vertesia-ui-shell.js.map +1 -1
  200. package/lib/vertesia-ui-widgets.js +1 -1
  201. package/lib/vertesia-ui-widgets.js.map +1 -1
  202. package/package.json +11 -8
  203. package/src/core/components/MenuList.tsx +3 -6
  204. package/src/core/components/MessageBox.tsx +7 -2
  205. package/src/core/components/SelectBox.tsx +1 -1
  206. package/src/core/components/shadcn/dialog.tsx +19 -1
  207. package/src/core/components/shadcn/filters/filter/SelectFilter.tsx +31 -31
  208. package/src/core/components/shadcn/filters/filterBar.tsx +1 -0
  209. package/src/core/components/shadcn/selectBox.tsx +32 -6
  210. package/src/core/components/shadcn/tabs.tsx +3 -2
  211. package/src/env/index.ts +5 -0
  212. package/src/features/agent/CHART_INSTRUCTIONS.md +228 -0
  213. package/src/features/agent/chat/AgentChart.tsx +601 -0
  214. package/src/features/agent/chat/ModernAgentConversation.tsx +123 -11
  215. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +8 -2
  216. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +12 -2
  217. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +6 -1
  218. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +15 -10
  219. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +122 -87
  220. package/src/features/agent/chat/index.ts +1 -0
  221. package/src/features/agent/createChartTool.ts +364 -0
  222. package/src/features/agent/examples.ts +321 -0
  223. package/src/features/agent/index.ts +2 -0
  224. package/src/features/agent/visualization.ts +227 -0
  225. package/src/features/facets/CollectionsFacetsNav.tsx +5 -1
  226. package/src/features/index.ts +1 -0
  227. package/src/features/layout/GenericPageNavHeader.tsx +15 -4
  228. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +482 -0
  229. package/src/features/magic-pdf/DownloadPopover.tsx +45 -40
  230. package/src/features/magic-pdf/ExtractedContentView.tsx +132 -0
  231. package/src/features/magic-pdf/MagicPdfProvider.tsx +297 -0
  232. package/src/features/magic-pdf/MagicPdfView.tsx +184 -91
  233. package/src/features/pdf-viewer/PdfPageRenderer.tsx +612 -0
  234. package/src/features/pdf-viewer/PdfPageSlider.tsx +473 -0
  235. package/src/features/pdf-viewer/SimplePdfViewer.tsx +142 -0
  236. package/src/features/pdf-viewer/index.ts +3 -0
  237. package/src/features/store/collections/EditCollectionView.tsx +3 -5
  238. package/src/features/store/collections/SharedPropsEditor.tsx +1 -2
  239. package/src/features/store/objects/DocumentSearchResults.tsx +0 -7
  240. package/src/features/store/objects/components/ContentOverview.tsx +677 -210
  241. package/src/features/store/objects/components/useContentPanelHooks.ts +169 -0
  242. package/src/features/store/objects/layout/DocumentTableColumn.tsx +3 -3
  243. package/src/features/store/objects/layout/knowledge.md +1 -0
  244. package/src/features/store/objects/layout/renderers.tsx +25 -0
  245. package/src/features/utils/index.ts +3 -1
  246. package/src/features/utils/mimeType.ts +10 -1
  247. package/src/features/utils/print.ts +189 -0
  248. package/src/features/utils/workflowStatus.ts +44 -0
  249. package/src/router/HistoryNavigator.ts +30 -2
  250. package/src/shell/login/UserInfo.tsx +2 -0
  251. package/src/shell/login/UserSessionMenu.tsx +12 -1
  252. package/src/widgets/form/Form.tsx +8 -3
  253. package/src/widgets/markdown/MarkdownRenderer.tsx +350 -6
  254. package/src/widgets/schema-editor/ManagedSchema.ts +0 -3
  255. package/src/widgets/schema-editor/json-schema4-utils.ts +1 -1
  256. package/src/widgets/xml-viewer/components/XMLViewer.tsx +22 -10
  257. package/src/widgets/xml-viewer/constants/index.ts +11 -0
  258. package/lib/esm/features/magic-pdf/PageSlider.js +0 -70
  259. package/lib/esm/features/magic-pdf/PageSlider.js.map +0 -1
  260. package/lib/esm/features/magic-pdf/PdfPageProvider.js +0 -188
  261. package/lib/esm/features/magic-pdf/PdfPageProvider.js.map +0 -1
  262. package/lib/esm/features/magic-pdf/TextPageView.js +0 -62
  263. package/lib/esm/features/magic-pdf/TextPageView.js.map +0 -1
  264. package/lib/esm/features/magic-pdf/useResizeOnDrag.js +0 -34
  265. package/lib/esm/features/magic-pdf/useResizeOnDrag.js.map +0 -1
  266. package/lib/types/features/magic-pdf/PageSlider.d.ts +0 -9
  267. package/lib/types/features/magic-pdf/PageSlider.d.ts.map +0 -1
  268. package/lib/types/features/magic-pdf/PdfPageProvider.d.ts +0 -39
  269. package/lib/types/features/magic-pdf/PdfPageProvider.d.ts.map +0 -1
  270. package/lib/types/features/magic-pdf/TextPageView.d.ts +0 -8
  271. package/lib/types/features/magic-pdf/TextPageView.d.ts.map +0 -1
  272. package/lib/types/features/magic-pdf/useResizeOnDrag.d.ts +0 -9
  273. package/lib/types/features/magic-pdf/useResizeOnDrag.d.ts.map +0 -1
  274. package/src/features/magic-pdf/PageSlider.tsx +0 -142
  275. package/src/features/magic-pdf/PdfPageProvider.tsx +0 -310
  276. package/src/features/magic-pdf/TextPageView.tsx +0 -91
  277. package/src/features/magic-pdf/useResizeOnDrag.ts +0 -42
@@ -1,19 +1,88 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useState, memo } from "react";
2
+ import { useEffect, useState, memo, useRef } from "react";
3
3
  import { useUserSession } from "@vertesia/ui/session";
4
- import { Button, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useToast } from "@vertesia/ui/core";
5
- import { JSONDisplay, MarkdownRenderer } from "@vertesia/ui/widgets";
6
- import { ContentNature, ImageRenditionFormat, POSTER_RENDITION_NAME } from "@vertesia/common";
7
- import { Copy, Download, SquarePen, AlertTriangle } from "lucide-react";
4
+ import { Button, Portal, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useToast, VModal, VModalBody, VModalFooter, VModalTitle } from "@vertesia/ui/core";
5
+ import { JSONDisplay, MarkdownRenderer, Progress, XMLViewer } from "@vertesia/ui/widgets";
6
+ import { ContentNature, ContentObjectStatus, ImageRenditionFormat, POSTER_RENDITION_NAME, WorkflowExecutionStatus, PDF_RENDITION_NAME } from "@vertesia/common";
7
+ import { Copy, Download, SquarePen, AlertTriangle, FileSearch } from "lucide-react";
8
+ import { isPreviewableAsPdf, printElementToPdf, getWorkflowStatusColor, getWorkflowStatusName } from "../../../utils/index.js";
8
9
  import { PropertiesEditorModal } from "./PropertiesEditorModal";
9
10
  import { NavLink } from "@vertesia/ui/router";
10
- // Maximum text size before cropping (128K characters)
11
- const MAX_TEXT_DISPLAY_SIZE = 128 * 1024;
11
+ import { MagicPdfView } from "../../../magic-pdf";
12
+ import { SimplePdfViewer } from "../../../pdf-viewer";
13
+ import { useObjectText, usePdfProcessingStatus, useOfficePdfConversion } from "./useContentPanelHooks.js";
14
+ // Web-supported image formats for browser display
15
+ const WEB_SUPPORTED_IMAGE_FORMATS = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp', 'image/svg+xml'];
16
+ // Web-supported video formats for browser display
17
+ const WEB_SUPPORTED_VIDEO_FORMATS = ['video/mp4', 'video/webm'];
18
+ // Panel height constants for consistent layout
19
+ const PANEL_HEIGHTS = {
20
+ /** Main resizable panel group */
21
+ main: "h-[calc(100vh-208px)]",
22
+ /** Properties panel content area */
23
+ properties: "h-[calc(100vh-228px)]",
24
+ /** Text/PDF content panel */
25
+ content: "h-[calc(100vh-218px)]",
26
+ /** Video max height */
27
+ video: "max-h-[calc(100vh-268px)]",
28
+ };
29
+ /**
30
+ * Custom markdown components for the content overview.
31
+ * Handles internal links to store objects and provides consistent styling.
32
+ */
33
+ const createMarkdownComponents = () => ({
34
+ a: ({ node, ...props }) => {
35
+ const href = props.href || "";
36
+ if (href.includes("/store/objects/")) {
37
+ return (_jsx(NavLink, { topLevelNav: true, href: href, className: "text-info", children: props.children }));
38
+ }
39
+ return _jsx("a", { ...props, target: "_blank", rel: "noopener noreferrer" });
40
+ },
41
+ p: ({ node, ...props }) => (_jsx("p", { ...props, className: "my-0" })),
42
+ pre: ({ node, ...props }) => (_jsx("pre", { ...props, className: "my-2 p-2 rounded" })),
43
+ code: ({ node, className, children, ...props }) => {
44
+ const match = /language-(\w+)/.exec(className || "");
45
+ const isInline = !match;
46
+ return (_jsx("code", { ...props, className: isInline ? "px-1.5 py-0.5 rounded" : "text-muted", children: children }));
47
+ },
48
+ h1: ({ node, ...props }) => (_jsx("h1", { ...props, className: "font-bold text-2xl my-2" })),
49
+ h2: ({ node, ...props }) => (_jsx("h2", { ...props, className: "font-bold text-xl my-2" })),
50
+ h3: ({ node, ...props }) => (_jsx("h3", { ...props, className: "font-bold text-lg my-2" })),
51
+ li: ({ node, ...props }) => _jsx("li", { ...props }),
52
+ });
53
+ /**
54
+ * Check if an object is in created or processing status.
55
+ */
56
+ function isCreatedOrProcessingStatus(status) {
57
+ return status === ContentObjectStatus.created || status === ContentObjectStatus.processing;
58
+ }
59
+ /**
60
+ * Get the content processor type from object metadata.
61
+ */
62
+ function getContentProcessorType(object) {
63
+ return object.metadata?.content_processor?.type;
64
+ }
65
+ /**
66
+ * Check if text content appears to be markdown based on common patterns.
67
+ */
68
+ function looksLikeMarkdown(text) {
69
+ if (!text)
70
+ return false;
71
+ return (text.includes("\n# ") ||
72
+ text.includes("\n## ") ||
73
+ text.includes("\n### ") ||
74
+ text.includes("\n* ") ||
75
+ text.includes("\n- ") ||
76
+ text.includes("\n+ ") ||
77
+ text.includes("![") ||
78
+ text.includes("]("));
79
+ }
12
80
  var PanelView;
13
81
  (function (PanelView) {
14
82
  PanelView["Text"] = "text";
15
83
  PanelView["Image"] = "image";
16
84
  PanelView["Video"] = "video";
85
+ PanelView["Pdf"] = "pdf";
17
86
  })(PanelView || (PanelView = {}));
18
87
  export function ContentOverview({ object, loadText, refetch, }) {
19
88
  const toast = useToast();
@@ -37,7 +106,7 @@ export function ContentOverview({ object, loadText, refetch, }) {
37
106
  });
38
107
  }
39
108
  };
40
- return (_jsx(_Fragment, { children: _jsxs(ResizablePanelGroup, { direction: "horizontal", className: "h-[calc(100vh-200px)]", children: [_jsx(ResizablePanel, { className: "min-w-[100px]", children: _jsx(PropertiesPanel, { object: object, refetch: refetch ?? (() => Promise.resolve()), handleCopyContent: handleCopyContent }) }), _jsx(ResizableHandle, { withHandle: true }), _jsx(ResizablePanel, { className: "min-w-[100px]", children: _jsx(DataPanel, { object: object, loadText: loadText ?? false, handleCopyContent: handleCopyContent }) })] }) }));
109
+ return (_jsx(_Fragment, { children: _jsxs(ResizablePanelGroup, { direction: "horizontal", className: PANEL_HEIGHTS.main, children: [_jsx(ResizablePanel, { className: "min-w-[100px]", children: _jsx(PropertiesPanel, { object: object, refetch: refetch ?? (() => Promise.resolve()), handleCopyContent: handleCopyContent }) }), _jsx(ResizableHandle, { withHandle: true }), _jsx(ResizablePanel, { className: "min-w-[100px]", children: _jsx(DataPanel, { object: object, loadText: loadText ?? false, handleCopyContent: handleCopyContent, refetch: refetch }) })] }) }));
41
110
  }
42
111
  function PropertiesPanel({ object, refetch, handleCopyContent }) {
43
112
  const [viewCode, setViewCode] = useState(false);
@@ -48,12 +117,17 @@ function PropertiesPanel({ object, refetch, handleCopyContent }) {
48
117
  const handleClosePropertiesModal = () => {
49
118
  setPropertiesModalOpen(false);
50
119
  };
51
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex justify-between items-center px-2", children: [_jsxs("div", { className: "flex items-center gap-1 bg-muted mb-2 p-1 rounded", children: [_jsx(Button, { variant: `${viewCode ? "ghost" : "primary"}`, size: "sm", alt: "Preview properties", onClick: () => setViewCode(!viewCode), children: "Properties" }), _jsx(Button, { variant: `${viewCode ? "primary" : "ghost"}`, size: "sm", alt: "View in JSON format", onClick: () => setViewCode(!viewCode), children: "JSON" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [object.properties && (_jsx(Button, { variant: "ghost", size: "sm", title: "Copy properties", onClick: () => handleCopyContent(JSON.stringify(object.properties, null, 2), "properties"), children: _jsx(Copy, { className: "size-4" }) })), _jsx(Button, { variant: "ghost", size: "sm", onClick: handleOpenPropertiesModal, title: "Edit properties", className: "flex items-center gap-2", children: _jsx(SquarePen, { className: "size-4" }) })] })] }), object.properties ? (_jsx("div", { className: "h-[calc(100vh-220px)] overflow-auto px-2", children: _jsx(JSONDisplay, { value: object.properties, viewCode: viewCode }) })) : (_jsx("div", { className: "h-[calc(100vh-220px)] overflow-auto px-2", children: _jsx("div", { children: "No properties defined" }) })), _jsx(PropertiesEditorModal, { isOpen: isPropertiesModalOpen, onClose: handleClosePropertiesModal, object: object, refetch: refetch })] }));
120
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex justify-between items-center px-2", children: [_jsxs("div", { className: "flex items-center gap-1 bg-muted mb-2 p-1 rounded", children: [_jsx(Button, { variant: `${viewCode ? "ghost" : "primary"}`, size: "sm", alt: "Preview properties", onClick: () => setViewCode(!viewCode), children: "Properties" }), _jsx(Button, { variant: `${viewCode ? "primary" : "ghost"}`, size: "sm", alt: "View in JSON format", onClick: () => setViewCode(!viewCode), children: "JSON" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [object.properties && (_jsx(Button, { variant: "ghost", size: "sm", title: "Copy properties", onClick: () => handleCopyContent(JSON.stringify(object.properties, null, 2), "properties"), children: _jsx(Copy, { className: "size-4" }) })), _jsx(Button, { variant: "ghost", size: "sm", onClick: handleOpenPropertiesModal, title: "Edit properties", className: "flex items-center gap-2", children: _jsx(SquarePen, { className: "size-4" }) })] })] }), object.properties ? (_jsx("div", { className: `${PANEL_HEIGHTS.properties} overflow-auto px-2`, children: _jsx(JSONDisplay, { value: object.properties, viewCode: viewCode }) })) : (_jsx("div", { className: `${PANEL_HEIGHTS.properties} overflow-auto px-2`, children: _jsx("div", { children: "No properties defined" }) })), _jsx(PropertiesEditorModal, { isOpen: isPropertiesModalOpen, onClose: handleClosePropertiesModal, object: object, refetch: refetch })] }));
52
121
  }
53
- function DataPanel({ object, loadText, handleCopyContent }) {
54
- const { store } = useUserSession();
122
+ function DataPanel({ object, loadText, handleCopyContent, refetch }) {
55
123
  const isImage = object?.metadata?.type === ContentNature.Image;
56
124
  const isVideo = object?.metadata?.type === ContentNature.Video;
125
+ const isPdf = object?.content?.type === 'application/pdf';
126
+ const isPreviewableAsPdfDoc = object?.content?.type ? isPreviewableAsPdf(object.content.type) : false;
127
+ const isCreatedOrProcessing = isCreatedOrProcessingStatus(object?.status);
128
+ // Check if PDF rendition exists for Office documents
129
+ const metadata = object.metadata;
130
+ const pdfRendition = metadata?.renditions?.find(r => r.name === PDF_RENDITION_NAME);
57
131
  // Determine initial panel view
58
132
  const getInitialView = () => {
59
133
  if (isVideo)
@@ -63,46 +137,43 @@ function DataPanel({ object, loadText, handleCopyContent }) {
63
137
  return PanelView.Text;
64
138
  };
65
139
  const [currentPanel, setCurrentPanel] = useState(getInitialView());
66
- const [text, setText] = useState(object.text);
67
- const [isLoadingText, setIsLoadingText] = useState(false);
68
- const [isTextCropped, setIsTextCropped] = useState(false);
140
+ // Use custom hooks for text loading, PDF processing, and Office conversion
141
+ const { fullText, displayText, isLoading: isLoadingText, isCropped: isTextCropped, } = useObjectText(object.id, object.text, loadText);
142
+ // Poll for PDF/document processing status when object is created or processing
143
+ const shouldPollProgress = (isPdf || isPreviewableAsPdfDoc) && isCreatedOrProcessing;
144
+ const { progress: pdfProgress, status: pdfStatus, outputFormat: pdfOutputFormat, isComplete: processingComplete, } = usePdfProcessingStatus(object.id, shouldPollProgress);
145
+ // Office document PDF conversion
146
+ const { pdfUrl: officePdfUrl, isConverting: officePdfConverting, error: officePdfError, triggerConversion: triggerOfficePdfConversion, } = useOfficePdfConversion(object.id, isPreviewableAsPdfDoc);
147
+ // Reload object when PDF processing completes
69
148
  useEffect(() => {
70
- if (loadText && !text) {
71
- setIsLoadingText(true);
72
- store.objects
73
- .getObjectText(object.id)
74
- .then((res) => {
75
- if (res.text.length > MAX_TEXT_DISPLAY_SIZE) {
76
- // Crop the text to 128K characters
77
- const croppedText = res.text.substring(0, MAX_TEXT_DISPLAY_SIZE);
78
- setText(croppedText);
79
- setIsTextCropped(true);
80
- }
81
- else {
82
- setText(res.text);
83
- setIsTextCropped(false);
84
- }
85
- })
86
- .catch((err) => {
87
- console.error("Failed to load text", err);
88
- })
89
- .finally(() => {
90
- setIsLoadingText(false);
91
- });
149
+ if (processingComplete && pdfStatus === WorkflowExecutionStatus.COMPLETED) {
150
+ refetch?.();
92
151
  }
93
- }, [loadText]);
94
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex justify-between items-center px-2", children: [_jsxs("div", { className: "flex items-center gap-1 bg-muted mb-2 p-1 rounded", children: [isImage &&
95
- _jsx(Button, { variant: currentPanel === PanelView.Image ? "primary" : "ghost", size: "sm", alt: "View Image", onClick: () => setCurrentPanel(PanelView.Image), children: "Image" }), isVideo &&
96
- _jsx(Button, { variant: currentPanel === PanelView.Video ? "primary" : "ghost", size: "sm", alt: "View Video", onClick: () => setCurrentPanel(PanelView.Video), children: "Video" }), _jsx(Button, { variant: currentPanel === PanelView.Text ? "primary" : "ghost", size: "sm", alt: "View Text", onClick: () => setCurrentPanel(PanelView.Text), children: "Text" })] }), currentPanel === PanelView.Text && _jsx(TextActions, { object: object, text: text, handleCopyContent: handleCopyContent })] }), currentPanel === PanelView.Image ? (_jsx(ImagePanel, { object: object })) : currentPanel === PanelView.Video ? (_jsx(VideoPanel, { object: object })) : (isLoadingText ? (_jsx("div", { className: "flex justify-center items-center h-[calc(100vh-260px)]", children: _jsx(Spinner, { size: "lg" }) })) : (_jsx(TextPanel, { object: object, text: text, isTextCropped: isTextCropped })))] }));
152
+ }, [processingComplete, pdfStatus, refetch]);
153
+ // Show processing panel when workflow is running (for both PDFs and Office documents)
154
+ const showProcessingPanel = (isPdf || isPreviewableAsPdfDoc) && isCreatedOrProcessing && !processingComplete && pdfStatus === WorkflowExecutionStatus.RUNNING;
155
+ const textContainerRef = useRef(null);
156
+ return (_jsxs("div", { className: "flex flex-col h-full", children: [_jsxs("div", { className: "flex justify-between items-center px-2 shrink-0", children: [_jsxs("div", { className: "flex items-center gap-2 mb-2", children: [_jsxs("div", { className: "flex items-center gap-1 bg-muted p-1 rounded", children: [isImage &&
157
+ _jsx(Button, { variant: currentPanel === PanelView.Image ? "primary" : "ghost", size: "sm", alt: "View Image", onClick: () => setCurrentPanel(PanelView.Image), children: "Image" }), isVideo &&
158
+ _jsx(Button, { variant: currentPanel === PanelView.Video ? "primary" : "ghost", size: "sm", alt: "View Video", onClick: () => setCurrentPanel(PanelView.Video), children: "Video" }), _jsx(Button, { variant: currentPanel === PanelView.Text ? "primary" : "ghost", size: "sm", alt: "View Text", onClick: () => setCurrentPanel(PanelView.Text), children: "Text" }), isPdf &&
159
+ _jsx(Button, { variant: currentPanel === PanelView.Pdf ? "primary" : "ghost", size: "sm", alt: "View PDF", onClick: () => setCurrentPanel(PanelView.Pdf), children: "PDF" }), isPreviewableAsPdfDoc && (_jsx(Button, { variant: currentPanel === PanelView.Pdf ? "primary" : "ghost", size: "sm", alt: "View as PDF", onClick: () => {
160
+ setCurrentPanel(PanelView.Pdf);
161
+ if (!pdfRendition && !officePdfUrl && !officePdfConverting) {
162
+ triggerOfficePdfConversion();
163
+ }
164
+ }, disabled: officePdfConverting, children: officePdfConverting ? _jsx(Spinner, { size: "sm" }) : "PDF" }))] }), _jsx(PdfActions, { object: object })] }), currentPanel === PanelView.Text && !showProcessingPanel && (_jsx(TextActions, { object: object, text: displayText, fullText: fullText, handleCopyContent: handleCopyContent, textContainerRef: textContainerRef })), currentPanel === PanelView.Pdf && isPreviewableAsPdfDoc && (pdfRendition || officePdfUrl) && (_jsx(OfficePdfActions, { object: object, pdfRendition: pdfRendition, officePdfUrl: officePdfUrl }))] }), currentPanel === PanelView.Image && (_jsx(ImagePanel, { object: object })), currentPanel === PanelView.Video && (_jsx(VideoPanel, { object: object })), currentPanel === PanelView.Pdf && isPdf && (_jsx(PdfPreviewPanel, { object: object })), currentPanel === PanelView.Pdf && isPreviewableAsPdfDoc && (_jsx(OfficePdfPreviewPanel, { pdfRendition: pdfRendition, officePdfUrl: officePdfUrl, officePdfConverting: officePdfConverting, officePdfError: officePdfError, onConvert: triggerOfficePdfConversion })), currentPanel === PanelView.Text && showProcessingPanel && (_jsx(PdfProcessingPanel, { progress: pdfProgress, status: pdfStatus, outputFormat: pdfOutputFormat })), currentPanel === PanelView.Text && !showProcessingPanel && isLoadingText && (_jsx("div", { className: "flex justify-center items-center flex-1", children: _jsx(Spinner, { size: "lg" }) })), currentPanel === PanelView.Text && !showProcessingPanel && !isLoadingText && (_jsx(TextPanel, { object: object, text: displayText, isTextCropped: isTextCropped, textContainerRef: textContainerRef }))] }));
97
165
  }
98
- function TextActions({ object, text, handleCopyContent }) {
166
+ function TextActions({ object, text, fullText, handleCopyContent, textContainerRef, }) {
99
167
  const { client } = useUserSession();
100
168
  const toast = useToast();
101
169
  const [loadingFormat, setLoadingFormat] = useState(null);
170
+ const [isPdfModalOpen, setIsPdfModalOpen] = useState(false);
102
171
  const content = object.content;
103
172
  const isMarkdown = content &&
104
173
  content.type &&
105
174
  content.type === "text/markdown";
175
+ // Get content processor type for file extension detection
176
+ const contentProcessorType = getContentProcessorType(object);
106
177
  const handleExportDocument = async (format) => {
107
178
  // Prevent multiple concurrent exports
108
179
  if (loadingFormat)
@@ -180,49 +251,94 @@ function TextActions({ object, text, handleCopyContent }) {
180
251
  }
181
252
  };
182
253
  const handleExportDocx = () => handleExportDocument("docx");
183
- const handleExportPdf = () => handleExportDocument("pdf");
184
- return (_jsx("div", { className: "h-[41px] text-lg font-semibold flex justify-between items-center px-2", children: _jsxs("div", { className: "flex items-center gap-2", children: [text && (_jsx(Button, { variant: "ghost", size: "sm", title: "Copy text", className: "flex items-center gap-2", onClick: () => handleCopyContent(text, "text"), children: _jsx(Copy, { className: "size-4" }) })), isMarkdown && text && (_jsxs(_Fragment, { children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleExportDocx, disabled: loadingFormat !== null, className: "flex items-center gap-2", children: [loadingFormat === "docx" ? (_jsx(Spinner, { size: "sm" })) : (_jsx(Download, { className: "size-4" })), "DOCX"] }), _jsxs(Button, { variant: "ghost", size: "sm", onClick: handleExportPdf, disabled: loadingFormat !== null, className: "flex items-center gap-2", children: [loadingFormat === "pdf" ? (_jsx(Spinner, { size: "sm" })) : (_jsx(Download, { className: "size-4" })), "PDF"] })] }))] }) }));
254
+ const handleClientPdfExport = () => {
255
+ if (!textContainerRef.current) {
256
+ toast({
257
+ status: "error",
258
+ title: "PDF export failed",
259
+ description: "No content available to export",
260
+ duration: 3000,
261
+ });
262
+ return;
263
+ }
264
+ setIsPdfModalOpen(true);
265
+ };
266
+ const handleConfirmClientPdfExport = () => {
267
+ if (!textContainerRef.current) {
268
+ toast({
269
+ status: "error",
270
+ title: "PDF export failed",
271
+ description: "No content available to export",
272
+ duration: 3000,
273
+ });
274
+ return;
275
+ }
276
+ const baseName = object.name || object.id;
277
+ const pdfTitle = `${baseName || "document"} - content`;
278
+ const success = printElementToPdf(textContainerRef.current, pdfTitle);
279
+ if (!success) {
280
+ toast({
281
+ status: "error",
282
+ title: "PDF export failed",
283
+ description: "Unable to open print preview",
284
+ duration: 4000,
285
+ });
286
+ return;
287
+ }
288
+ toast({
289
+ status: "success",
290
+ title: "PDF export ready",
291
+ description: "Use your browser's Print dialog to save as PDF",
292
+ duration: 4000,
293
+ });
294
+ setIsPdfModalOpen(false);
295
+ };
296
+ const handleDownloadText = (e) => {
297
+ e.preventDefault();
298
+ e.stopPropagation();
299
+ if (!fullText)
300
+ return;
301
+ // Determine file extension based on content processor type
302
+ let ext = "txt";
303
+ let mimeType = "text/plain";
304
+ if (contentProcessorType === "xml") {
305
+ ext = "xml";
306
+ mimeType = "text/xml";
307
+ }
308
+ else if (contentProcessorType === "markdown" || isMarkdown) {
309
+ ext = "md";
310
+ mimeType = "text/markdown";
311
+ }
312
+ const blob = new Blob([fullText], { type: mimeType });
313
+ const url = URL.createObjectURL(blob);
314
+ const filename = `${object.name || "document"}.${ext}`;
315
+ // Use the download attribute with an anchor, but avoid triggering navigation
316
+ const link = document.createElement("a");
317
+ link.href = url;
318
+ link.download = filename;
319
+ link.style.display = "none";
320
+ // Temporarily remove from DOM event flow
321
+ setTimeout(() => {
322
+ link.click();
323
+ URL.revokeObjectURL(url);
324
+ }, 0);
325
+ };
326
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "h-[41px] text-lg font-semibold flex justify-between items-center px-2", children: _jsxs("div", { className: "flex items-center gap-2", children: [fullText && (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", size: "sm", title: "Copy text", onClick: () => handleCopyContent(fullText, "text"), children: _jsx(Copy, { className: "size-4" }) }), _jsx(Button, { variant: "ghost", size: "sm", title: "Download text", onClick: handleDownloadText, children: _jsx(Download, { className: "size-4" }) })] })), isMarkdown && text && (_jsxs(_Fragment, { children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleExportDocx, disabled: loadingFormat !== null, className: "flex items-center gap-2", children: [loadingFormat === "docx" ? (_jsx(Spinner, { size: "sm" })) : (_jsx(Download, { className: "size-4" })), "DOCX"] }), _jsxs(Button, { variant: "ghost", size: "sm", onClick: handleClientPdfExport, className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "PDF"] })] }))] }) }), _jsxs(VModal, { isOpen: isPdfModalOpen, onClose: () => setIsPdfModalOpen(false), children: [_jsx(VModalTitle, { children: "Export document as PDF" }), _jsxs(VModalBody, { children: [_jsx("p", { className: "mb-2", children: "This will open your browser's print dialog with the current document content." }), _jsx("p", { className: "text-sm text-muted", children: "To save a PDF, choose \"Save as PDF\" or a similar option in the print dialog." })] }), _jsxs(VModalFooter, { align: "right", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: () => setIsPdfModalOpen(false), children: "Cancel" }), _jsx(Button, { size: "sm", onClick: handleConfirmClientPdfExport, children: "Open print dialog" })] })] })] }));
185
327
  }
186
- const TextPanel = memo(({ object, text, isTextCropped }) => {
328
+ const TextPanel = memo(({ object, text, isTextCropped, textContainerRef, }) => {
187
329
  const content = object.content;
330
+ const isCreatedOrProcessing = isCreatedOrProcessingStatus(object?.status);
331
+ // Check content processor type for XML
332
+ const contentProcessorType = getContentProcessorType(object);
333
+ const isXml = contentProcessorType === "xml";
188
334
  // Check if content type is markdown or plain text
189
335
  const isMarkdownOrText = content &&
190
336
  content.type &&
191
337
  (content.type === "text/markdown" || content.type === "text/plain");
192
- // Check if text content looks like markdown
193
- const seemsMarkdown = text && (text.includes("\n# ") ||
194
- text.includes("\n## ") ||
195
- text.includes("\n### ") ||
196
- text.includes("\n* ") ||
197
- text.includes("\n- ") ||
198
- text.includes("\n+ ") ||
199
- text.includes("![") ||
200
- text.includes("]("));
201
- // Render as markdown if it's markdown/text type OR if text looks like markdown
202
- const shouldRenderAsMarkdown = isMarkdownOrText || seemsMarkdown;
203
- return (text ? (_jsxs(_Fragment, { children: [isTextCropped && (_jsx("div", { className: "px-2 py-2 bg-attention/10 border-l-4 border-attention mx-2 mb-2 rounded", children: _jsxs("div", { className: "flex items-center gap-2 text-attention", children: [_jsx(AlertTriangle, { className: "size-4" }), _jsx("span", { className: "text-sm font-semibold", children: "Showing first 128K characters only" })] }) })), _jsx("div", { className: "max-w-7xl px-2 h-[calc(100vh-210px)] overflow-auto", children: shouldRenderAsMarkdown ? (_jsx("div", { className: "vprose prose-sm p-1", children: _jsx(MarkdownRenderer, { components: {
204
- a: ({ node, ...props }) => {
205
- const href = props.href || "";
206
- if (href.includes("/store/objects/")) {
207
- return (_jsx(NavLink, { topLevelNav: true, href: href, className: "text-info", children: props.children }));
208
- }
209
- return _jsx("a", { ...props, "data-debug": "test", target: "_blank", rel: "noopener noreferrer" });
210
- },
211
- p: ({ node, ...props }) => (_jsx("p", { ...props, className: `my-0` })),
212
- pre: ({ node, ...props }) => (_jsx("pre", { ...props, className: `my-2 p-2 rounded` })),
213
- code: ({ node, className, children, ...props }) => {
214
- const match = /language-(\w+)/.exec(className || "");
215
- const isInline = !match;
216
- return (_jsx("code", { ...props, className: isInline
217
- ? `px-1.5 py-0.5 rounded`
218
- : "text-muted", children: children }));
219
- },
220
- h1: ({ node, ...props }) => (_jsx("h1", { ...props, className: `font-bold text-2xl my-2` })),
221
- h2: ({ node, ...props }) => (_jsx("h2", { ...props, className: `font-bold text-xl my-2` })),
222
- h3: ({ node, ...props }) => (_jsx("h3", { ...props, className: `font-bold text-lg my-2` })),
223
- li: ({ node, ...props }) => (_jsx("li", { ...props })),
224
- }, children: text }) })) : (_jsx("pre", { className: "text-wrap bg-muted text-muted p-2", children: text })) })] })) :
225
- _jsx("div", { className: "px-2", children: _jsx("div", { children: "No content" }) }));
338
+ // Render as markdown if it's markdown/text type OR if text looks like markdown (but not if XML)
339
+ const shouldRenderAsMarkdown = !isXml && (isMarkdownOrText || looksLikeMarkdown(text));
340
+ return (text ? (_jsxs(_Fragment, { children: [isTextCropped && (_jsx("div", { className: "px-2 py-2 bg-attention/10 border-l-4 border-attention mx-2 mb-2 rounded", children: _jsxs("div", { className: "flex items-center gap-2 text-attention", children: [_jsx(AlertTriangle, { className: "size-4" }), _jsx("span", { className: "text-sm font-semibold", children: "Showing first 128K characters only" })] }) })), _jsx("div", { className: `max-w-7xl px-2 ${PANEL_HEIGHTS.content} overflow-auto`, ref: textContainerRef, children: isXml ? (_jsx("div", { className: "px-4 py-2", children: _jsx(XMLViewer, { xml: text, collapsible: true }) })) : shouldRenderAsMarkdown ? (_jsx("div", { className: "vprose prose-sm p-1", children: _jsx(MarkdownRenderer, { components: createMarkdownComponents(), children: text }) })) : (_jsx("pre", { className: "text-wrap bg-muted text-muted p-2", children: text })) })] })) :
341
+ _jsx("div", { className: "px-2", children: _jsx("div", { children: isCreatedOrProcessing ? "Extracting content..." : "No content" }) }));
226
342
  });
227
343
  function ImagePanel({ object }) {
228
344
  const { client } = useUserSession();
@@ -232,8 +348,7 @@ function ImagePanel({ object }) {
232
348
  useEffect(() => {
233
349
  if (isImage) {
234
350
  const loadImage = async () => {
235
- const webSupportedFormats = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp', 'image/svg+xml'];
236
- const isOriginalWebSupported = content?.type && webSupportedFormats.includes(content.type);
351
+ const isOriginalWebSupported = content?.type && WEB_SUPPORTED_IMAGE_FORMATS.includes(content.type);
237
352
  try {
238
353
  const rendition = await client.objects.getRendition(object.id, {
239
354
  format: ImageRenditionFormat.jpeg,
@@ -277,8 +392,7 @@ function VideoPanel({ object }) {
277
392
  const webRendition = renditions.find(r => r.content.type === 'video/mp4') ||
278
393
  renditions.find(r => r.content.type === 'video/webm');
279
394
  // Check if original file is web-compatible
280
- const webSupportedFormats = ['video/mp4', 'video/webm'];
281
- const isOriginalWebSupported = content?.type && webSupportedFormats.includes(content.type);
395
+ const isOriginalWebSupported = content?.type && WEB_SUPPORTED_VIDEO_FORMATS.includes(content.type);
282
396
  // Get poster
283
397
  const poster = renditions.find(r => r.name === POSTER_RENDITION_NAME);
284
398
  useEffect(() => {
@@ -325,6 +439,82 @@ function VideoPanel({ object }) {
325
439
  setIsLoading(false);
326
440
  }
327
441
  }, [isVideo, webRendition, isOriginalWebSupported, content?.source, client]);
328
- return (_jsx("div", { className: "mb-4 px-2", children: !webRendition && !isOriginalWebSupported ? (_jsx("div", { className: "flex justify-center items-center h-[400px] text-muted", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { children: "No web-compatible video rendition available" }), _jsx("p", { className: "text-sm mt-2", children: "MP4 or WebM format required" })] }) })) : isLoading ? (_jsx("div", { className: "flex justify-center items-center h-[400px]", children: _jsx(Spinner, { size: "md" }) })) : videoUrl ? (_jsx("video", { src: videoUrl, poster: posterUrl, controls: true, className: "w-full max-h-[calc(100vh-260px)] object-contain", children: "Your browser does not support the video tag." })) : (_jsx("div", { className: "flex justify-center items-center h-[400px] text-muted", children: "Failed to load video" })) }));
442
+ return (_jsx("div", { className: "mb-4 px-2", children: !webRendition && !isOriginalWebSupported ? (_jsx("div", { className: "flex justify-center items-center h-[400px] text-muted", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { children: "No web-compatible video rendition available" }), _jsx("p", { className: "text-sm mt-2", children: "MP4 or WebM format required" })] }) })) : isLoading ? (_jsx("div", { className: "flex justify-center items-center h-[400px]", children: _jsx(Spinner, { size: "md" }) })) : videoUrl ? (_jsx("video", { src: videoUrl, poster: posterUrl, controls: true, className: `w-full ${PANEL_HEIGHTS.video} object-contain`, children: "Your browser does not support the video tag." })) : (_jsx("div", { className: "flex justify-center items-center h-[400px] text-muted", children: "Failed to load video" })) }));
443
+ }
444
+ function PdfActions({ object }) {
445
+ const [isPdfPreviewOpen, setPdfPreviewOpen] = useState(false);
446
+ // Check if PDF has been processed (content_processor.type is xml or markdown)
447
+ const contentProcessorType = getContentProcessorType(object);
448
+ const hasPdfAnalysis = contentProcessorType === "xml" || contentProcessorType === "markdown";
449
+ if (!hasPdfAnalysis)
450
+ return null;
451
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: () => setPdfPreviewOpen(true), title: "Side by side view", children: _jsx(FileSearch, { className: "size-4" }) }), isPdfPreviewOpen && (_jsx(Portal, { children: _jsx(MagicPdfView, { objectId: object.id, onClose: () => setPdfPreviewOpen(false) }) }))] }));
452
+ }
453
+ function OfficePdfActions({ object, pdfRendition, officePdfUrl, }) {
454
+ const { client } = useUserSession();
455
+ const toast = useToast();
456
+ const [isDownloading, setIsDownloading] = useState(false);
457
+ const handleDownloadPdf = async () => {
458
+ setIsDownloading(true);
459
+ try {
460
+ let downloadUrl = officePdfUrl;
461
+ // If we have a rendition source but no signed URL yet, get a signed URL
462
+ if (!downloadUrl && pdfRendition?.content?.source) {
463
+ const response = await client.files.getDownloadUrl(pdfRendition.content.source, `${object.name || 'document'}.pdf`, 'attachment');
464
+ downloadUrl = response.url;
465
+ }
466
+ if (downloadUrl) {
467
+ // Open in new tab - browser will handle as download due to content-disposition
468
+ window.open(downloadUrl, '_blank');
469
+ }
470
+ }
471
+ catch (err) {
472
+ console.error('Failed to download PDF:', err);
473
+ toast({
474
+ status: 'error',
475
+ title: 'Download failed',
476
+ description: 'Failed to download the PDF file',
477
+ duration: 5000,
478
+ });
479
+ }
480
+ finally {
481
+ setIsDownloading(false);
482
+ }
483
+ };
484
+ return (_jsx("div", { className: "flex items-center gap-2", children: _jsx(Button, { variant: "ghost", size: "sm", onClick: handleDownloadPdf, disabled: isDownloading, title: "Download PDF", children: isDownloading ? _jsx(Spinner, { size: "sm" }) : _jsx(Download, { className: "size-4" }) }) }));
485
+ }
486
+ function PdfPreviewPanel({ object }) {
487
+ return (_jsx("div", { className: PANEL_HEIGHTS.content, children: _jsx(SimplePdfViewer, { object: object, className: "h-full" }) }));
488
+ }
489
+ /**
490
+ * Panel for displaying Office documents converted to PDF.
491
+ * Handles the various states: converting, error, showing PDF.
492
+ */
493
+ function OfficePdfPreviewPanel({ pdfRendition, officePdfUrl, officePdfConverting, officePdfError, onConvert, }) {
494
+ if (officePdfConverting) {
495
+ return (_jsxs("div", { className: "flex flex-col justify-center items-center flex-1 gap-2", children: [_jsx(Spinner, { size: "lg" }), _jsx("span", { className: "text-muted", children: "Converting to PDF..." })] }));
496
+ }
497
+ if (officePdfError) {
498
+ return (_jsxs("div", { className: "flex flex-col justify-center items-center flex-1 gap-2 text-destructive", children: [_jsx(AlertTriangle, { className: "size-8" }), _jsx("span", { children: officePdfError })] }));
499
+ }
500
+ if (pdfRendition?.content?.source) {
501
+ return (_jsx("div", { className: PANEL_HEIGHTS.content, children: _jsx(SimplePdfViewer, { source: pdfRendition.content.source, className: "h-full" }) }));
502
+ }
503
+ if (officePdfUrl) {
504
+ return (_jsx("div", { className: PANEL_HEIGHTS.content, children: _jsx(SimplePdfViewer, { url: officePdfUrl, className: "h-full" }) }));
505
+ }
506
+ return (_jsx("div", { className: "flex flex-col justify-center items-center flex-1 gap-2", children: _jsx(Button, { onClick: onConvert, children: "Convert to PDF" }) }));
507
+ }
508
+ function PdfProcessingPanel({ progress, status, outputFormat }) {
509
+ const statusColor = getWorkflowStatusColor(status);
510
+ const statusName = getWorkflowStatusName(status);
511
+ // Show detailed progress (tables, images, visuals) for XML processing
512
+ const isXmlProcessing = outputFormat === "xml";
513
+ // Ensure percent is a valid number (handle undefined and NaN from division by zero)
514
+ const percent = progress?.percent != null && !isNaN(progress.percent) ? progress.percent : 0;
515
+ return (_jsxs("div", { className: "px-4 py-4", children: [progress && (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(ProgressLine, { name: isXmlProcessing ? "Analyze Layouts" : "Analyze Page", progress: progress.pages }), isXmlProcessing && (_jsxs(_Fragment, { children: [_jsx(ProgressLine, { name: "Extract Tables", progress: progress.tables }), _jsx(ProgressLine, { name: "Describe Images", progress: progress.images }), _jsx(ProgressLine, { name: "Process Visually", progress: progress.visuals })] }))] }), _jsxs("div", { className: "pt-2 text-sm text-muted", children: ["Progress: ", percent, "%", _jsx("span", { className: "px-2", children: "\u2022" }), _jsx("span", { className: statusColor, children: statusName }), progress.started_at && (_jsxs(_Fragment, { children: [_jsx("span", { className: "px-2", children: "\u2022" }), _jsxs("span", { children: [((Date.now() - progress.started_at) / 1000).toFixed(0), " sec. elapsed"] })] }))] }), _jsx(Progress, { percent: percent })] })), !progress && (_jsxs("div", { className: "flex items-center gap-2 text-muted", children: [_jsx(Spinner, { size: "sm" }), _jsx("span", { children: "Loading processing status..." })] }))] }));
516
+ }
517
+ function ProgressLine({ name, progress }) {
518
+ return (_jsxs("div", { className: "flex gap-2 text-sm", children: [_jsxs("span", { className: "text-muted min-w-36", children: [name, ":"] }), _jsxs("span", { children: [progress.processed, " of ", progress.total] })] }));
329
519
  }
330
520
  //# sourceMappingURL=ContentOverview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentOverview.js","sourceRoot":"","sources":["../../../../../../src/features/store/objects/components/ContentOverview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContentOverview.js","sourceRoot":"","sources":["../../../../../../src/features/store/objects/components/ContentOverview.tsx"],"names":[],"mappings":"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"}