@vertesia/ui 1.5.0-dev.20260714.072725Z → 1.5.0-dev.20260722.120446Z

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 (393) hide show
  1. package/lib/core/components/SidePanel.js +1 -1
  2. package/lib/core/components/SidePanel.js.map +1 -1
  3. package/lib/core/components/shadcn/button.d.ts +10 -3
  4. package/lib/core/components/shadcn/button.d.ts.map +1 -1
  5. package/lib/core/components/shadcn/button.js +41 -9
  6. package/lib/core/components/shadcn/button.js.map +1 -1
  7. package/lib/core/components/shadcn/modal/dialog.js +1 -1
  8. package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
  9. package/lib/core/components/shadcn/theme/ThemeSwitcher.js +1 -1
  10. package/lib/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
  11. package/lib/env/index.d.ts +19 -0
  12. package/lib/env/index.d.ts.map +1 -1
  13. package/lib/env/index.js +6 -0
  14. package/lib/env/index.js.map +1 -1
  15. package/lib/features/agent/chat/AgentChatPlaybackControls.d.ts.map +1 -1
  16. package/lib/features/agent/chat/AgentChatPlaybackControls.js +2 -2
  17. package/lib/features/agent/chat/AgentChatPlaybackControls.js.map +1 -1
  18. package/lib/features/agent/chat/AgentRequestInputOverlay.d.ts.map +1 -1
  19. package/lib/features/agent/chat/AgentRequestInputOverlay.js +2 -2
  20. package/lib/features/agent/chat/AgentRequestInputOverlay.js.map +1 -1
  21. package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
  22. package/lib/features/agent/chat/ArtifactsTab.js +68 -11
  23. package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
  24. package/lib/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  25. package/lib/features/agent/chat/ImageLightbox.js +1 -1
  26. package/lib/features/agent/chat/ImageLightbox.js.map +1 -1
  27. package/lib/features/agent/chat/ModernAgentConversation.js +52 -49
  28. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  29. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  30. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +5 -5
  31. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  32. package/lib/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  33. package/lib/features/agent/chat/ModernAgentOutput/Header.js +4 -2
  34. package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  35. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  36. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +2 -2
  37. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  38. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  39. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +2 -1
  40. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  41. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts +6 -0
  42. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
  43. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +15 -1
  44. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
  45. package/lib/features/agent/chat/hooks/useArtifacts.d.ts +8 -1
  46. package/lib/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -1
  47. package/lib/features/agent/chat/hooks/useArtifacts.js +28 -10
  48. package/lib/features/agent/chat/hooks/useArtifacts.js.map +1 -1
  49. package/lib/features/document-viewer/UniversalDocumentViewer.d.ts +73 -0
  50. package/lib/features/document-viewer/UniversalDocumentViewer.d.ts.map +1 -0
  51. package/lib/features/document-viewer/UniversalDocumentViewer.js +415 -0
  52. package/lib/features/document-viewer/UniversalDocumentViewer.js.map +1 -0
  53. package/lib/features/document-viewer/index.d.ts +2 -0
  54. package/lib/features/document-viewer/index.d.ts.map +1 -0
  55. package/lib/features/document-viewer/index.js +2 -0
  56. package/lib/features/document-viewer/index.js.map +1 -0
  57. package/lib/features/environment/SelectEnvironment.d.ts +28 -0
  58. package/lib/features/environment/SelectEnvironment.d.ts.map +1 -0
  59. package/lib/features/environment/SelectEnvironment.js +97 -0
  60. package/lib/features/environment/SelectEnvironment.js.map +1 -0
  61. package/lib/features/environment/index.d.ts +2 -0
  62. package/lib/features/environment/index.d.ts.map +1 -0
  63. package/lib/features/environment/index.js +2 -0
  64. package/lib/features/environment/index.js.map +1 -0
  65. package/lib/features/index.d.ts +3 -0
  66. package/lib/features/index.d.ts.map +1 -1
  67. package/lib/features/index.js +3 -0
  68. package/lib/features/index.js.map +1 -1
  69. package/lib/features/magic-pdf/AnnotatedImageSlider.js +12 -12
  70. package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  71. package/lib/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  72. package/lib/features/magic-pdf/DownloadPopover.js +3 -17
  73. package/lib/features/magic-pdf/DownloadPopover.js.map +1 -1
  74. package/lib/features/magic-pdf/ExtractedContentView.js +2 -6
  75. package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
  76. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts +25 -0
  77. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts.map +1 -0
  78. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js +42 -0
  79. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js.map +1 -0
  80. package/lib/features/magic-pdf/GroundedExtractionView.d.ts +27 -0
  81. package/lib/features/magic-pdf/GroundedExtractionView.d.ts.map +1 -0
  82. package/lib/features/magic-pdf/GroundedExtractionView.js +377 -0
  83. package/lib/features/magic-pdf/GroundedExtractionView.js.map +1 -0
  84. package/lib/features/magic-pdf/MagicPdfProvider.d.ts +0 -2
  85. package/lib/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -1
  86. package/lib/features/magic-pdf/MagicPdfProvider.js +15 -42
  87. package/lib/features/magic-pdf/MagicPdfProvider.js.map +1 -1
  88. package/lib/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  89. package/lib/features/magic-pdf/MagicPdfView.js +2 -19
  90. package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
  91. package/lib/features/magic-pdf/index.d.ts +1 -0
  92. package/lib/features/magic-pdf/index.d.ts.map +1 -1
  93. package/lib/features/magic-pdf/index.js +1 -0
  94. package/lib/features/magic-pdf/index.js.map +1 -1
  95. package/lib/features/magic-pdf/types.d.ts +1 -1
  96. package/lib/features/magic-pdf/types.d.ts.map +1 -1
  97. package/lib/features/oauth/McpConnectionsButton.d.ts.map +1 -1
  98. package/lib/features/oauth/McpConnectionsButton.js +2 -2
  99. package/lib/features/oauth/McpConnectionsButton.js.map +1 -1
  100. package/lib/features/oauth/McpConnectionsDialog.d.ts.map +1 -1
  101. package/lib/features/oauth/McpConnectionsDialog.js +1 -1
  102. package/lib/features/oauth/McpConnectionsDialog.js.map +1 -1
  103. package/lib/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -1
  104. package/lib/features/oauth/RemoteMcpConnectionButton.js +1 -1
  105. package/lib/features/oauth/RemoteMcpConnectionButton.js.map +1 -1
  106. package/lib/features/pdf-viewer/PdfPageSlider.js +2 -2
  107. package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  108. package/lib/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  109. package/lib/features/pdf-viewer/SimplePdfViewer.js +3 -3
  110. package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  111. package/lib/features/permissions/UserPermissionsProvider.d.ts +2 -3
  112. package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  113. package/lib/features/permissions/UserPermissionsProvider.js +31 -38
  114. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  115. package/lib/features/store/objects/DocumentQuickFilter.d.ts.map +1 -1
  116. package/lib/features/store/objects/DocumentQuickFilter.js +5 -5
  117. package/lib/features/store/objects/DocumentQuickFilter.js.map +1 -1
  118. package/lib/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  119. package/lib/features/store/objects/DocumentSearchResults.js +2 -2
  120. package/lib/features/store/objects/DocumentSearchResults.js.map +1 -1
  121. package/lib/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  122. package/lib/features/store/objects/components/ContentDispositionButton.js +1 -1
  123. package/lib/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  124. package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  125. package/lib/features/store/objects/components/ContentOverview.js +148 -31
  126. package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
  127. package/lib/features/store/objects/components/DocumentIcon.js +1 -1
  128. package/lib/features/store/objects/components/VectorSearchWidget.js +1 -1
  129. package/lib/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  130. package/lib/features/store/objects/components/useContentPanelHooks.d.ts +1 -2
  131. package/lib/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  132. package/lib/features/store/objects/components/useContentPanelHooks.js +4 -8
  133. package/lib/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  134. package/lib/features/store/objects/layout/renderers.d.ts.map +1 -1
  135. package/lib/features/store/objects/layout/renderers.js +2 -2
  136. package/lib/features/store/objects/layout/renderers.js.map +1 -1
  137. package/lib/features/store/objects/selection/SelectionActions.js +1 -1
  138. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  139. package/lib/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  140. package/lib/features/store/types/ContentObjectTypesTable.js +4 -4
  141. package/lib/features/store/types/ContentObjectTypesTable.js.map +1 -1
  142. package/lib/features/store/types/IntakePolicyEditor.d.ts +15 -0
  143. package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -0
  144. package/lib/features/store/types/IntakePolicyEditor.js +455 -0
  145. package/lib/features/store/types/IntakePolicyEditor.js.map +1 -0
  146. package/lib/features/store/types/IntakePolicyForm.d.ts +11 -0
  147. package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -0
  148. package/lib/features/store/types/IntakePolicyForm.js +91 -0
  149. package/lib/features/store/types/IntakePolicyForm.js.map +1 -0
  150. package/lib/features/store/types/SelectContentTypeModal.js +1 -1
  151. package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
  152. package/lib/features/store/types/index.d.ts +2 -0
  153. package/lib/features/store/types/index.d.ts.map +1 -1
  154. package/lib/features/store/types/index.js +2 -0
  155. package/lib/features/store/types/index.js.map +1 -1
  156. package/lib/features/store/types/intake-policy-editor.logic.d.ts +7 -0
  157. package/lib/features/store/types/intake-policy-editor.logic.d.ts.map +1 -0
  158. package/lib/features/store/types/intake-policy-editor.logic.js +60 -0
  159. package/lib/features/store/types/intake-policy-editor.logic.js.map +1 -0
  160. package/lib/features/store/types/typeCatalogCache.d.ts +5 -0
  161. package/lib/features/store/types/typeCatalogCache.d.ts.map +1 -0
  162. package/lib/features/store/types/typeCatalogCache.js +40 -0
  163. package/lib/features/store/types/typeCatalogCache.js.map +1 -0
  164. package/lib/features/user/UserInfo.js +7 -3
  165. package/lib/features/user/UserInfo.js.map +1 -1
  166. package/lib/features/views/ViewExperience.d.ts +20 -0
  167. package/lib/features/views/ViewExperience.d.ts.map +1 -0
  168. package/lib/features/views/ViewExperience.js +188 -0
  169. package/lib/features/views/ViewExperience.js.map +1 -0
  170. package/lib/features/views/ViewNavigation.d.ts +3 -0
  171. package/lib/features/views/ViewNavigation.d.ts.map +1 -0
  172. package/lib/features/views/ViewNavigation.js +36 -0
  173. package/lib/features/views/ViewNavigation.js.map +1 -0
  174. package/lib/features/views/ViewResults.d.ts +9 -0
  175. package/lib/features/views/ViewResults.d.ts.map +1 -0
  176. package/lib/features/views/ViewResults.js +229 -0
  177. package/lib/features/views/ViewResults.js.map +1 -0
  178. package/lib/features/views/ViewSearch.d.ts +3 -0
  179. package/lib/features/views/ViewSearch.d.ts.map +1 -0
  180. package/lib/features/views/ViewSearch.js +74 -0
  181. package/lib/features/views/ViewSearch.js.map +1 -0
  182. package/lib/features/views/index.d.ts +7 -0
  183. package/lib/features/views/index.d.ts.map +1 -0
  184. package/lib/features/views/index.js +7 -0
  185. package/lib/features/views/index.js.map +1 -0
  186. package/lib/features/views/types.d.ts +39 -0
  187. package/lib/features/views/types.d.ts.map +1 -0
  188. package/lib/features/views/types.js +2 -0
  189. package/lib/features/views/types.js.map +1 -0
  190. package/lib/features/views/viewState.d.ts +14 -0
  191. package/lib/features/views/viewState.d.ts.map +1 -0
  192. package/lib/features/views/viewState.js +117 -0
  193. package/lib/features/views/viewState.js.map +1 -0
  194. package/lib/i18n/locales/ar.json +18 -0
  195. package/lib/i18n/locales/de.json +14 -0
  196. package/lib/i18n/locales/en.json +246 -32
  197. package/lib/i18n/locales/es.json +15 -0
  198. package/lib/i18n/locales/fr.json +15 -0
  199. package/lib/i18n/locales/it.json +15 -0
  200. package/lib/i18n/locales/ja.json +13 -0
  201. package/lib/i18n/locales/ko.json +13 -0
  202. package/lib/i18n/locales/pt.json +15 -0
  203. package/lib/i18n/locales/ru.json +16 -0
  204. package/lib/i18n/locales/tr.json +14 -0
  205. package/lib/i18n/locales/zh-TW.json +13 -0
  206. package/lib/i18n/locales/zh.json +13 -0
  207. package/lib/router/HistoryNavigator.d.ts.map +1 -1
  208. package/lib/router/HistoryNavigator.js +27 -14
  209. package/lib/router/HistoryNavigator.js.map +1 -1
  210. package/lib/router/Nav.d.ts.map +1 -1
  211. package/lib/router/Nav.js +21 -6
  212. package/lib/router/Nav.js.map +1 -1
  213. package/lib/router/Router.d.ts.map +1 -1
  214. package/lib/router/Router.js +19 -4
  215. package/lib/router/Router.js.map +1 -1
  216. package/lib/router/path.d.ts +15 -0
  217. package/lib/router/path.d.ts.map +1 -1
  218. package/lib/router/path.js +43 -0
  219. package/lib/router/path.js.map +1 -1
  220. package/lib/session/UserSession.d.ts +6 -0
  221. package/lib/session/UserSession.d.ts.map +1 -1
  222. package/lib/session/UserSession.js +36 -12
  223. package/lib/session/UserSession.js.map +1 -1
  224. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  225. package/lib/session/UserSessionProvider.js +111 -49
  226. package/lib/session/UserSessionProvider.js.map +1 -1
  227. package/lib/session/auth/composable.d.ts.map +1 -1
  228. package/lib/session/auth/composable.js +52 -3
  229. package/lib/session/auth/composable.js.map +1 -1
  230. package/lib/session/auth/domainRouting.d.ts +25 -0
  231. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  232. package/lib/session/auth/domainRouting.js +36 -0
  233. package/lib/session/auth/domainRouting.js.map +1 -1
  234. package/lib/shell/login/SignInRestrictedEnvStep.d.ts +1 -1
  235. package/lib/shell/login/SignInRestrictedEnvStep.js +1 -1
  236. package/lib/shell/login/SigninScreen.js +9 -1
  237. package/lib/shell/login/SigninScreen.js.map +1 -1
  238. package/lib/shell/login/productionUrl.d.ts +0 -14
  239. package/lib/shell/login/productionUrl.d.ts.map +1 -1
  240. package/lib/shell/login/productionUrl.js +14 -5
  241. package/lib/shell/login/productionUrl.js.map +1 -1
  242. package/lib/vertesia-ui-core.js +4 -4
  243. package/lib/vertesia-ui-core.js.map +1 -1
  244. package/lib/vertesia-ui-env.js +1 -1
  245. package/lib/vertesia-ui-env.js.map +1 -1
  246. package/lib/vertesia-ui-features.js +35 -28
  247. package/lib/vertesia-ui-features.js.map +1 -1
  248. package/lib/vertesia-ui-i18n.js +15 -15
  249. package/lib/vertesia-ui-i18n.js.map +1 -1
  250. package/lib/vertesia-ui-router.js +1 -1
  251. package/lib/vertesia-ui-router.js.map +1 -1
  252. package/lib/vertesia-ui-session.js +1 -1
  253. package/lib/vertesia-ui-session.js.map +1 -1
  254. package/lib/vertesia-ui-shell.js +1 -1
  255. package/lib/vertesia-ui-shell.js.map +1 -1
  256. package/lib/vertesia-ui-widgets.js +7 -7
  257. package/lib/vertesia-ui-widgets.js.map +1 -1
  258. package/lib/widgets/form/Form.js +1 -1
  259. package/lib/widgets/form/Form.js.map +1 -1
  260. package/lib/widgets/json-view/JSONSwitcher.js +1 -1
  261. package/lib/widgets/json-view/JSONSwitcher.js.map +1 -1
  262. package/lib/widgets/json-view/JSONView.js +6 -6
  263. package/lib/widgets/json-view/JSONView.js.map +1 -1
  264. package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  265. package/lib/widgets/monacoEditor/MonacoEditor.js +29 -0
  266. package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  267. package/lib/widgets/schema-editor/ManagedSchema.d.ts +8 -0
  268. package/lib/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  269. package/lib/widgets/schema-editor/ManagedSchema.js +16 -0
  270. package/lib/widgets/schema-editor/ManagedSchema.js.map +1 -1
  271. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts +2 -0
  272. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts.map +1 -1
  273. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js +1 -0
  274. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js.map +1 -1
  275. package/lib/widgets/schema-editor/editor/PropertyViewer.d.ts.map +1 -1
  276. package/lib/widgets/schema-editor/editor/PropertyViewer.js +4 -1
  277. package/lib/widgets/schema-editor/editor/PropertyViewer.js.map +1 -1
  278. package/lib/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  279. package/lib/widgets/schema-editor/editor/SchemaEditor.js +22 -11
  280. package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  281. package/llms.txt +70 -70
  282. package/package.json +33 -32
  283. package/src/__tests__/a11y.test.tsx +73 -0
  284. package/src/core/components/SidePanel.tsx +1 -1
  285. package/src/core/components/shadcn/button.tsx +67 -12
  286. package/src/core/components/shadcn/modal/dialog.tsx +1 -1
  287. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +1 -1
  288. package/src/env/index.ts +24 -0
  289. package/src/features/agent/chat/AgentChatPlaybackControls.tsx +0 -5
  290. package/src/features/agent/chat/AgentRequestInputOverlay.test.tsx +31 -0
  291. package/src/features/agent/chat/AgentRequestInputOverlay.tsx +6 -2
  292. package/src/features/agent/chat/ArtifactsTab.tsx +165 -21
  293. package/src/features/agent/chat/ImageLightbox.tsx +0 -1
  294. package/src/features/agent/chat/ModernAgentConversation.test.tsx +48 -0
  295. package/src/features/agent/chat/ModernAgentConversation.tsx +53 -51
  296. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +6 -1
  297. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +21 -15
  298. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +3 -3
  299. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +0 -2
  300. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +4 -1
  301. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +80 -0
  302. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +21 -1
  303. package/src/features/agent/chat/hooks/useArtifacts.ts +44 -11
  304. package/src/features/document-viewer/UniversalDocumentViewer.test.tsx +123 -0
  305. package/src/features/document-viewer/UniversalDocumentViewer.tsx +746 -0
  306. package/src/features/document-viewer/index.ts +1 -0
  307. package/src/features/environment/SelectEnvironment.tsx +186 -0
  308. package/src/features/environment/index.ts +1 -0
  309. package/src/features/index.ts +3 -0
  310. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +62 -66
  311. package/src/features/magic-pdf/DownloadPopover.tsx +5 -48
  312. package/src/features/magic-pdf/ExtractedContentView.tsx +2 -14
  313. package/src/features/magic-pdf/GroundedExtractionAssistantPanel.tsx +86 -0
  314. package/src/features/magic-pdf/GroundedExtractionView.test.tsx +65 -0
  315. package/src/features/magic-pdf/GroundedExtractionView.tsx +1055 -0
  316. package/src/features/magic-pdf/MagicPdfProvider.tsx +17 -47
  317. package/src/features/magic-pdf/MagicPdfView.tsx +3 -51
  318. package/src/features/magic-pdf/index.ts +1 -0
  319. package/src/features/magic-pdf/types.ts +1 -1
  320. package/src/features/oauth/McpConnectionsButton.tsx +0 -2
  321. package/src/features/oauth/McpConnectionsDialog.tsx +0 -1
  322. package/src/features/oauth/RemoteMcpConnectionButton.tsx +0 -1
  323. package/src/features/pdf-viewer/PdfPageSlider.tsx +5 -5
  324. package/src/features/pdf-viewer/SimplePdfViewer.tsx +11 -12
  325. package/src/features/permissions/UserPermissionsProvider.tsx +36 -39
  326. package/src/features/store/objects/DocumentQuickFilter.tsx +13 -15
  327. package/src/features/store/objects/DocumentSearchResults.tsx +3 -6
  328. package/src/features/store/objects/components/ContentDispositionButton.tsx +5 -1
  329. package/src/features/store/objects/components/ContentOverview.tsx +240 -67
  330. package/src/features/store/objects/components/DocumentIcon.tsx +1 -1
  331. package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
  332. package/src/features/store/objects/components/useContentPanelHooks.ts +3 -15
  333. package/src/features/store/objects/layout/renderers.tsx +1 -2
  334. package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
  335. package/src/features/store/types/ContentObjectTypesTable.tsx +12 -14
  336. package/src/features/store/types/IntakePolicyEditor.tsx +679 -0
  337. package/src/features/store/types/IntakePolicyForm.tsx +838 -0
  338. package/src/features/store/types/SelectContentTypeModal.tsx +2 -2
  339. package/src/features/store/types/index.ts +2 -0
  340. package/src/features/store/types/intake-policy-editor.logic.test.ts +109 -0
  341. package/src/features/store/types/intake-policy-editor.logic.ts +87 -0
  342. package/src/features/store/types/typeCatalogCache.ts +45 -0
  343. package/src/features/user/UserInfo.tsx +7 -7
  344. package/src/features/views/ViewExperience.test.tsx +273 -0
  345. package/src/features/views/ViewExperience.tsx +408 -0
  346. package/src/features/views/ViewNavigation.test.tsx +86 -0
  347. package/src/features/views/ViewNavigation.tsx +187 -0
  348. package/src/features/views/ViewResults.test.ts +82 -0
  349. package/src/features/views/ViewResults.tsx +609 -0
  350. package/src/features/views/ViewSearch.test.tsx +147 -0
  351. package/src/features/views/ViewSearch.tsx +205 -0
  352. package/src/features/views/index.ts +6 -0
  353. package/src/features/views/types.ts +57 -0
  354. package/src/features/views/viewState.test.ts +111 -0
  355. package/src/features/views/viewState.ts +132 -0
  356. package/src/i18n/locales/ar.json +18 -0
  357. package/src/i18n/locales/de.json +14 -0
  358. package/src/i18n/locales/en.json +965 -751
  359. package/src/i18n/locales/es.json +15 -0
  360. package/src/i18n/locales/fr.json +15 -0
  361. package/src/i18n/locales/it.json +15 -0
  362. package/src/i18n/locales/ja.json +13 -0
  363. package/src/i18n/locales/ko.json +13 -0
  364. package/src/i18n/locales/pt.json +15 -0
  365. package/src/i18n/locales/ru.json +16 -0
  366. package/src/i18n/locales/tr.json +14 -0
  367. package/src/i18n/locales/zh-TW.json +13 -0
  368. package/src/i18n/locales/zh.json +13 -0
  369. package/src/router/HistoryNavigator.test.ts +48 -0
  370. package/src/router/HistoryNavigator.ts +28 -14
  371. package/src/router/Nav.tsx +24 -8
  372. package/src/router/Router.tsx +18 -4
  373. package/src/router/path.test.ts +87 -0
  374. package/src/router/path.ts +38 -0
  375. package/src/session/UserSession.test.ts +39 -0
  376. package/src/session/UserSession.ts +37 -12
  377. package/src/session/UserSessionProvider.tsx +138 -62
  378. package/src/session/auth/composable.test.ts +111 -0
  379. package/src/session/auth/composable.ts +58 -3
  380. package/src/session/auth/domainRouting.test.ts +28 -1
  381. package/src/session/auth/domainRouting.ts +38 -0
  382. package/src/shell/login/SignInRestrictedEnvStep.tsx +1 -1
  383. package/src/shell/login/SigninScreen.tsx +9 -1
  384. package/src/shell/login/productionUrl.test.ts +8 -5
  385. package/src/shell/login/productionUrl.ts +15 -5
  386. package/src/widgets/form/Form.tsx +1 -1
  387. package/src/widgets/json-view/JSONSwitcher.tsx +2 -2
  388. package/src/widgets/json-view/JSONView.tsx +7 -7
  389. package/src/widgets/monacoEditor/MonacoEditor.tsx +29 -0
  390. package/src/widgets/schema-editor/ManagedSchema.ts +22 -0
  391. package/src/widgets/schema-editor/editor/EditableSchemaProperty.tsx +3 -0
  392. package/src/widgets/schema-editor/editor/PropertyViewer.tsx +14 -3
  393. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +80 -29
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, CopyButton, VTooltip } from '@vertesia/ui/core';
2
+ import { Button, CopyButton } from '@vertesia/ui/core';
3
3
  import { Filter } from 'lucide-react';
4
4
  import { createContext, useContext } from 'react';
5
5
  const DocumentQuickFilterContext = createContext(undefined);
@@ -22,9 +22,9 @@ const ACTION_BTN_CLASS = 'h-6 w-6 p-0 opacity-0 group-hover/field:opacity-100 te
22
22
  export function DocumentCellActions({ field, value, label, copyContent, }) {
23
23
  const onFilter = useDocumentQuickFilter();
24
24
  const hasValue = Array.isArray(value) ? value.length > 0 : value !== undefined && value !== '';
25
- return (_jsxs(_Fragment, { children: [copyContent !== undefined && copyContent !== '' && (_jsx(CopyButton, { content: copyContent, className: ACTION_BTN_CLASS })), hasValue && value !== undefined && (_jsx(VTooltip, { description: `Filter by ${label}`, asChild: true, size: "xs", children: _jsx(Button, { variant: "ghost", size: "sm", "aria-label": `Filter by ${label}`, className: ACTION_BTN_CLASS, onClick: (e) => {
26
- e.stopPropagation();
27
- onFilter?.(field, value);
28
- }, children: _jsx(Filter, { className: "size-3" }) }) }))] }));
25
+ return (_jsxs(_Fragment, { children: [copyContent !== undefined && copyContent !== '' && (_jsx(CopyButton, { content: copyContent, className: ACTION_BTN_CLASS })), hasValue && value !== undefined && (_jsx(Button, { variant: "ghost", size: "sm", title: `Filter by ${label}`, className: ACTION_BTN_CLASS, onClick: (e) => {
26
+ e.stopPropagation();
27
+ onFilter?.(field, value);
28
+ }, children: _jsx(Filter, { className: "size-3" }) }))] }));
29
29
  }
30
30
  //# sourceMappingURL=DocumentQuickFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentQuickFilter.js","sourceRoot":"","sources":["../../../../src/features/store/objects/DocumentQuickFilter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlE,MAAM,0BAA0B,GAAG,aAAa,CAAkC,SAAS,CAAC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,EACxC,QAAQ,EACR,QAAQ,GAIX;IACG,OAAO,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAAuC,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,gBAAgB,GAClB,kHAAkH,CAAC;AAEvH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAW,GAMd;IACG,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;IAE/F,OAAO,CACH,8BACK,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,IAAI,CAChD,KAAC,UAAU,IAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,GAAI,CACpE,EACA,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,CAChC,KAAC,QAAQ,IAAC,WAAW,EAAE,aAAa,KAAK,EAAE,EAAE,OAAO,QAAC,IAAI,EAAC,IAAI,YAC1D,KAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,gBACG,aAAa,KAAK,EAAE,EAChC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBACX,CAAC,CAAC,eAAe,EAAE,CAAC;wBACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC7B,CAAC,YAED,KAAC,MAAM,IAAC,SAAS,EAAC,QAAQ,GAAG,GACxB,GACF,CACd,IACF,CACN,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DocumentQuickFilter.js","sourceRoot":"","sources":["../../../../src/features/store/objects/DocumentQuickFilter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlE,MAAM,0BAA0B,GAAG,aAAa,CAAkC,SAAS,CAAC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,EACxC,QAAQ,EACR,QAAQ,GAIX;IACG,OAAO,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAAuC,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,gBAAgB,GAClB,kHAAkH,CAAC;AAEvH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAW,GAMd;IACG,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;IAE/F,OAAO,CACH,8BACK,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,IAAI,CAChD,KAAC,UAAU,IAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,GAAI,CACpE,EACA,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,CAChC,KAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,aAAa,KAAK,EAAE,EAC3B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACX,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC,YAED,KAAC,MAAM,IAAC,SAAS,EAAC,QAAQ,GAAG,GACxB,CACZ,IACF,CACN,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentSearchResults.d.ts","sourceRoot":"","sources":["../../../../src/features/store/objects/DocumentSearchResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAwD,MAAM,kBAAkB,CAAC;AAoD3G,UAAU,sCAAsC;IAC5C,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,8EAA8E;IAC9E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AACD,wBAAgB,iCAAiC,CAAC,EAC9C,YAA6B,EAC7B,MAAM,EACN,cAAc,GACjB,EAAE,sCAAsC,+BAkDxC;AAED,UAAU,0BAA0B;IAChC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3F,8EAA8E;IAC9E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AACD,wBAAgB,qBAAqB,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,WAAkB,EAClB,WAAkB,EAClB,cAAc,GACjB,EAAE,0BAA0B,+BA2P5B"}
1
+ {"version":3,"file":"DocumentSearchResults.d.ts","sourceRoot":"","sources":["../../../../src/features/store/objects/DocumentSearchResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAwD,MAAM,kBAAkB,CAAC;AAmD3G,UAAU,sCAAsC;IAC5C,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,8EAA8E;IAC9E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AACD,wBAAgB,iCAAiC,CAAC,EAC9C,YAA6B,EAC7B,MAAM,EACN,cAAc,GACjB,EAAE,sCAAsC,+BAkDxC;AAED,UAAU,0BAA0B;IAChC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3F,8EAA8E;IAC9E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AACD,wBAAgB,qBAAqB,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,WAAkB,EAClB,WAAkB,EAClB,cAAc,GACjB,EAAE,0BAA0B,+BA2P5B"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Divider, ErrorBox, FilterBar, FilterBtn, FilterClear, FilterProvider, SidePanel, Spinner, useIntersectionObserver, useToast, VTooltip, } from '@vertesia/ui/core';
2
+ import { Button, Divider, ErrorBox, FilterBar, FilterBtn, FilterClear, FilterProvider, SidePanel, Spinner, useIntersectionObserver, useToast, } from '@vertesia/ui/core';
3
3
  import { useUITranslation } from '@vertesia/ui/i18n';
4
4
  import { useNavigate } from '@vertesia/ui/router';
5
5
  import { useUserSession } from '@vertesia/ui/session';
@@ -253,7 +253,7 @@ export function DocumentSearchResults({ layout, onUpload, allowFilter = true, al
253
253
  function Toolsbar(props) {
254
254
  const { t } = useUITranslation();
255
255
  const { isLoading, refreshTrigger, allowFilter, allowSearch, filterGroups, filters, handleFilterChange, handleVectorSearch, handleRefetch, setIsGridView, toolbarActions, } = props;
256
- return (_jsxs("div", { className: "sticky top-0 z-10 bg-background py-2 flex justify-between items-center", children: [allowFilter ? (_jsx(FilterProvider, { filterGroups: filterGroups, filters: filters, setFilters: handleFilterChange, children: _jsxs("div", { children: [_jsx("div", { className: "flex flex-row gap-4 items-center justify-between w-full", children: _jsxs("div", { className: "flex gap-2 items-center w-2/3", children: [allowSearch && (_jsx(VectorSearchWidget, { onChange: handleVectorSearch, isLoading: isLoading, refresh: refreshTrigger, className: "w-full" })), _jsx(FilterBtn, {})] }) }), _jsxs("div", { className: "flex gap-2 items-center pt-2", children: [_jsx(FilterBar, {}), _jsx(FilterClear, {})] })] }) })) : (_jsx("div", { className: "flex flex-row gap-4 items-center justify-between w-full", children: _jsx("div", { className: "flex gap-2 items-center w-2/3", children: allowSearch && (_jsx(VectorSearchWidget, { onChange: handleVectorSearch, isLoading: isLoading, refresh: refreshTrigger })) }) })), _jsxs("div", { className: "flex gap-1 items-center", children: [toolbarActions, _jsx(VTooltip, { description: t('store.refresh'), asChild: true, size: "xs", placement: "top", children: _jsx(Button, { variant: "outline", onClick: handleRefetch, "aria-label": t('store.refresh'), children: _jsx(RefreshCw, { size: 16 }) }) }), _jsx(ContentDispositionButton, { onUpdate: setIsGridView })] })] }));
256
+ return (_jsxs("div", { className: "sticky top-0 z-10 bg-background py-2 flex justify-between items-center", children: [allowFilter ? (_jsx(FilterProvider, { filterGroups: filterGroups, filters: filters, setFilters: handleFilterChange, children: _jsxs("div", { children: [_jsx("div", { className: "flex flex-row gap-4 items-center justify-between w-full", children: _jsxs("div", { className: "flex gap-2 items-center w-2/3", children: [allowSearch && (_jsx(VectorSearchWidget, { onChange: handleVectorSearch, isLoading: isLoading, refresh: refreshTrigger, className: "w-full" })), _jsx(FilterBtn, {})] }) }), _jsxs("div", { className: "flex gap-2 items-center pt-2", children: [_jsx(FilterBar, {}), _jsx(FilterClear, {})] })] }) })) : (_jsx("div", { className: "flex flex-row gap-4 items-center justify-between w-full", children: _jsx("div", { className: "flex gap-2 items-center w-2/3", children: allowSearch && (_jsx(VectorSearchWidget, { onChange: handleVectorSearch, isLoading: isLoading, refresh: refreshTrigger })) }) })), _jsxs("div", { className: "flex gap-1 items-center", children: [toolbarActions, _jsx(Button, { variant: "outline", onClick: handleRefetch, title: t('store.refresh'), children: _jsx(RefreshCw, { size: 16 }) }), _jsx(ContentDispositionButton, { onUpdate: setIsGridView })] })] }));
257
257
  }
258
258
  function OverviewDrawer({ object, onClose }) {
259
259
  const { store } = useUserSession();
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentSearchResults.js","sourceRoot":"","sources":["../../../../src/features/store/objects/DocumentSearchResults.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentSearchResults.js","sourceRoot":"","sources":["../../../../src/features/store/objects/DocumentSearchResults.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentDispositionButton.d.ts","sourceRoot":"","sources":["../../../../../src/features/store/objects/components/ContentDispositionButton.tsx"],"names":[],"mappings":"AAOA,UAAU,6BAA6B;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AACD,wBAAgB,wBAAwB,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,6BAA6B,CAAC,+BA6B7F;yBA7Be,wBAAwB"}
1
+ {"version":3,"file":"ContentDispositionButton.d.ts","sourceRoot":"","sources":["../../../../../src/features/store/objects/components/ContentDispositionButton.tsx"],"names":[],"mappings":"AAOA,UAAU,6BAA6B;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AACD,wBAAgB,wBAAwB,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,6BAA6B,CAAC,+BAiC7F;yBAjCe,wBAAwB"}
@@ -25,7 +25,7 @@ export function ContentDispositionButton({ onUpdate }) {
25
25
  setIsGridView(false);
26
26
  onUpdate(false);
27
27
  };
28
- return (_jsx(Button, { variant: "outline", onClick: updateView, alt: isGridView ? t('misc.tableView') : t('misc.thumbnailView'), children: isGridView ? _jsx(TableProperties, {}) : _jsx(LayoutGrid, {}) }));
28
+ return (_jsx(Button, { variant: "outline", onClick: updateView, title: isGridView ? t('misc.tableView') : t('misc.thumbnailView'), children: isGridView ? _jsx(TableProperties, {}) : _jsx(LayoutGrid, {}) }));
29
29
  }
30
30
  ContentDispositionButton.LAST_DISPLAYED_VIEW = LAST_DISPLAYED_VIEW;
31
31
  //# sourceMappingURL=ContentDispositionButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentDispositionButton.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/components/ContentDispositionButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAKvE,MAAM,UAAU,wBAAwB,CAAC,EAAE,QAAQ,EAA2C;IAC1F,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,MAAM,CAAC,CAAC;IAEnG,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,cAAc,EAAE,CAAC;QACrB,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAClD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACnD,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,YACzG,UAAU,CAAC,CAAC,CAAC,KAAC,eAAe,KAAG,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,GAC7C,CACZ,CAAC;AACN,CAAC;AAED,wBAAwB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ContentDispositionButton.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/components/ContentDispositionButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAKvE,MAAM,UAAU,wBAAwB,CAAC,EAAE,QAAQ,EAA2C;IAC1F,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,MAAM,CAAC,CAAC;IAEnG,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,cAAc,EAAE,CAAC;QACrB,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAClD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACnD,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,MAAM,IACH,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAEhE,UAAU,CAAC,CAAC,CAAC,KAAC,eAAe,KAAG,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,GAC7C,CACZ,CAAC;AACN,CAAC;AAED,wBAAwB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentOverview.d.ts","sourceRoot":"","sources":["../../../../../src/features/store/objects/components/ContentOverview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,aAAa,EASrB,MAAM,kBAAkB,CAAC;AAwJ1B,UAAU,oBAAoB;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AACD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAwB,EAAE,EAAE,oBAAoB,+BA+C5G"}
1
+ {"version":3,"file":"ContentOverview.d.ts","sourceRoot":"","sources":["../../../../../src/features/store/objects/components/ContentOverview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,aAAa,EASrB,MAAM,kBAAkB,CAAC;AAoK1B,UAAU,oBAAoB;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AACD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAwB,EAAE,EAAE,oBAAoB,+BA+C5G"}
@@ -1,17 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { ContentNature, ContentObjectStatus, MarkdownRenditionFormat, PDF_RENDITION_NAME, Permission, WorkflowExecutionStatus, } from '@vertesia/common';
3
- import { Button, Dropdown, MenuItem, Portal, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useFetch, useToast, } from '@vertesia/ui/core';
3
+ import { Badge, Button, Dropdown, MenuItem, Portal, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useFetch, useToast, } from '@vertesia/ui/core';
4
4
  import { useUITranslation } from '@vertesia/ui/i18n';
5
5
  import { NavLink } from '@vertesia/ui/router';
6
6
  import { useUserSession } from '@vertesia/ui/session';
7
- import { JSONDisplay, MarkdownRenderer, Progress, XMLViewer } from '@vertesia/ui/widgets';
8
- import { AlertTriangle, Copy, Download, FileSearch, SquarePen } from 'lucide-react';
9
- import { memo, useEffect, useRef, useState } from 'react';
7
+ import { JSONDisplay, Progress } from '@vertesia/ui/widgets';
8
+ import { AlertTriangle, Copy, Download, FileSearch, ScanSearch, SquarePen } from 'lucide-react';
9
+ import { memo, useEffect, useMemo, useRef, useState } from 'react';
10
+ import { UniversalDocumentViewer, } from '../../../document-viewer/UniversalDocumentViewer.js';
10
11
  import { MagicPdfView } from '../../../magic-pdf';
12
+ import { GroundedExtractionView, useGroundedExtractionAvailable, useGroundedSummary, } from '../../../magic-pdf/GroundedExtractionView.js';
11
13
  import { AudioPanel, ImagePanel, VideoPanel } from '../../../media-viewer';
12
- import { SimplePdfViewer } from '../../../pdf-viewer';
13
14
  import { SecureButton } from '../../../permissions/SecureButton.js';
14
15
  import { getWorkflowStatusColor, getWorkflowStatusName, isPreviewableAsPdf } from '../../../utils/index.js';
16
+ import { resolveTypeCached } from '../../types/typeCatalogCache.js';
15
17
  import { PropertiesEditorModal } from './PropertiesEditorModal';
16
18
  import { TextEditorPanel } from './TextEditorPanel.js';
17
19
  import { useObjectText, useOfficePdfConversion, usePdfProcessingStatus } from './useContentPanelHooks.js';
@@ -114,15 +116,47 @@ function PropertiesPanel({ object, refetch, handleCopyContent, canEditProperties
114
116
  const { t } = useUITranslation();
115
117
  const [viewCode, setViewCode] = useState(false);
116
118
  const [isPropertiesModalOpen, setPropertiesModalOpen] = useState(false);
119
+ const groundedSummary = useGroundedSummary(object.id);
117
120
  const handleOpenPropertiesModal = () => {
118
121
  setPropertiesModalOpen(true);
119
122
  };
120
123
  const handleClosePropertiesModal = () => {
121
124
  setPropertiesModalOpen(false);
122
125
  };
123
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex flex-col h-full", 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: t('store.previewProperties'), onClick: () => setViewCode(!viewCode), children: "Properties" }), _jsx(Button, { variant: `${viewCode ? 'primary' : 'ghost'}`, size: "sm", alt: t('store.viewInJsonFormat'), 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" }) })), canEditProperties && (_jsx(SecureButton, { permission: Permission.content_write, 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: "flex-1 min-h-0 px-2", children: _jsx(JSONDisplay, { value: object.properties, viewCode: viewCode }) })) : (_jsx("div", { className: "flex-1 min-h-0 px-2", children: _jsx("div", { children: t('store.noPropertiesDefined') }) }))] }), _jsx(PropertiesEditorModal, { isOpen: isPropertiesModalOpen, onClose: handleClosePropertiesModal, object: object, refetch: refetch })] }));
126
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex flex-col h-full", 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", title: t('store.previewProperties'), onClick: () => setViewCode(!viewCode), children: "Properties" }), _jsx(Button, { variant: `${viewCode ? 'primary' : 'ghost'}`, size: "sm", title: t('store.viewInJsonFormat'), 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" }) })), canEditProperties && (_jsx(SecureButton, { permission: Permission.content_write, variant: "ghost", size: "sm", onClick: handleOpenPropertiesModal, title: "Edit properties", className: "flex items-center gap-2", children: _jsx(SquarePen, { className: "size-4" }) }))] })] }), groundedSummary && object.properties && (_jsxs("div", { className: "flex items-center gap-2 px-2 pb-2", children: [typeof groundedSummary.confidence === 'number' && (_jsx(Badge, { variant: groundedSummary.confidence >= 0.95 ? 'success' : 'attention', title: t('grounded.confidenceHint'), children: t('grounded.confidence', {
127
+ percent: Math.floor(groundedSummary.confidence * 100),
128
+ }) })), _jsx(Badge, { variant: groundedSummary.verified === groundedSummary.total ? 'success' : 'attention', children: t('grounded.verifiedOf', {
129
+ verified: groundedSummary.verified,
130
+ total: groundedSummary.total,
131
+ }) })] })), object.properties ? (_jsx("div", { className: "flex-1 min-h-0 px-2", children: _jsx(JSONDisplay, { value: object.properties, viewCode: viewCode }) })) : (_jsx("div", { className: "flex-1 min-h-0 px-2", children: _jsx("div", { children: t('store.noPropertiesDefined') }) }))] }), _jsx(PropertiesEditorModal, { isOpen: isPropertiesModalOpen, onClose: handleClosePropertiesModal, object: object, refetch: refetch })] }));
124
132
  }
125
- function DataPanel({ object, loadText, handleCopyContent, refetch, }) {
133
+ /**
134
+ * Resolves the object's content-type intake policy BEFORE the initial panel is chosen so
135
+ * `default_view` can drive it. Renders a spinner until the type is resolved — never the
136
+ * MIME-guessed panel first (no guess-then-flip). Objects without a type render immediately.
137
+ */
138
+ function DataPanel(props) {
139
+ const { client } = useUserSession();
140
+ const typeRef = props.object.type;
141
+ const typeId = typeRef?.id;
142
+ // Fast path: single-object reads carry the display hint on the API-enriched type ref.
143
+ const refView = typeRef?.default_view;
144
+ // Fallback (list-fed contexts, older servers): session-cached catalog lookup.
145
+ // null = resolved with no default view; undefined = not resolved yet.
146
+ const { data: fetchedView } = useFetch(async () => {
147
+ if (!typeId || refView)
148
+ return null;
149
+ const type = await resolveTypeCached(client, typeId);
150
+ return type?.intake?.default_view ?? null;
151
+ }, [typeId, refView]);
152
+ const defaultView = refView ?? fetchedView;
153
+ if (typeId && !refView && fetchedView === undefined) {
154
+ return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx(Spinner, { size: "lg" }) }));
155
+ }
156
+ return _jsx(DataPanelContent, { ...props, defaultView: defaultView ?? undefined });
157
+ }
158
+ function DataPanelContent({ object, loadText, handleCopyContent, refetch, defaultView, }) {
159
+ const { client } = useUserSession();
126
160
  const { t } = useUITranslation();
127
161
  const isImage = object?.metadata?.type === ContentNature.Image;
128
162
  const isVideo = object?.metadata?.type === ContentNature.Video;
@@ -134,8 +168,27 @@ function DataPanel({ object, loadText, handleCopyContent, refetch, }) {
134
168
  // Check if PDF rendition exists for Office documents
135
169
  const metadata = object.metadata;
136
170
  const pdfRendition = metadata?.renditions?.find((r) => r.name === PDF_RENDITION_NAME);
137
- // Determine initial panel view
171
+ // Determine initial panel view: the type's default_view wins when it applies to this
172
+ // object; otherwise fall back to the nature/MIME heuristics.
138
173
  const getInitialView = () => {
174
+ switch (defaultView) {
175
+ case 'text':
176
+ return PanelView.Text;
177
+ case 'pdf':
178
+ if (isPdf || isPreviewableAsPdfDoc || pdfRendition)
179
+ return PanelView.Pdf;
180
+ break;
181
+ case 'image':
182
+ if (isImage)
183
+ return PanelView.Image;
184
+ break;
185
+ case 'properties':
186
+ // Properties live in the right-hand panel which is always visible; the text
187
+ // panel shows the rendered property card for extraction-only types.
188
+ return PanelView.Text;
189
+ default:
190
+ break;
191
+ }
139
192
  if (isVideo)
140
193
  return PanelView.Video;
141
194
  if (isAudio)
@@ -144,6 +197,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch, }) {
144
197
  return PanelView.Image;
145
198
  return PanelView.Text;
146
199
  };
200
+ const groundedAvailable = useGroundedExtractionAvailable(object.id);
147
201
  const [currentPanel, setCurrentPanel] = useState(getInitialView());
148
202
  const [hasVisitedPdfPanel, setHasVisitedPdfPanel] = useState(currentPanel === PanelView.Pdf);
149
203
  useEffect(() => {
@@ -167,9 +221,34 @@ function DataPanel({ object, loadText, handleCopyContent, refetch, }) {
167
221
  const shouldPollProgress = (isPdf || isPreviewableAsPdfDoc) &&
168
222
  isCreatedOrProcessing &&
169
223
  (currentPanel === PanelView.Text || currentPanel === PanelView.Pdf);
170
- const { progress: pdfProgress, status: pdfStatus, outputFormat: pdfOutputFormat, isComplete: processingComplete, } = usePdfProcessingStatus(object.id, shouldPollProgress);
224
+ const { progress: pdfProgress, status: pdfStatus, isComplete: processingComplete, } = usePdfProcessingStatus(object.id, shouldPollProgress);
171
225
  // Office document PDF conversion
172
226
  const { pdfUrl: officePdfUrl, isConverting: officePdfConverting, error: officePdfError, triggerConversion: triggerOfficePdfConversion, } = useOfficePdfConversion(object.id, isPreviewableAsPdfDoc);
227
+ const officePdfConverters = useMemo(() => [
228
+ {
229
+ id: 'office-pdf-rendition',
230
+ target: 'pdf',
231
+ canConvert: ({ contentType, extension }) => isPreviewableAsPdfDoc ||
232
+ (contentType ? isPreviewableAsPdf(contentType) : false) ||
233
+ ['doc', 'docx', 'ppt', 'pptx'].includes(extension),
234
+ convert: async () => {
235
+ const response = await client.objects.getRendition(object.id, {
236
+ format: MarkdownRenditionFormat.pdf,
237
+ generate_if_missing: true,
238
+ sign_url: true,
239
+ block_on_generation: true,
240
+ });
241
+ if (response.status === 'found' && response.renditions?.length) {
242
+ return {
243
+ url: response.renditions[0],
244
+ contentType: 'application/pdf',
245
+ fileName: `${object.name || 'document'}.pdf`,
246
+ };
247
+ }
248
+ return null;
249
+ },
250
+ },
251
+ ], [client, isPreviewableAsPdfDoc, object.id, object.name]);
173
252
  // Load text once processing completes without triggering a full object refetch
174
253
  // (which would flash the page-level loading spinner).
175
254
  useEffect(() => {
@@ -186,12 +265,12 @@ function DataPanel({ object, loadText, handleCopyContent, refetch, }) {
186
265
  const showPdfProcessingPanel = showProcessingPanel && (currentPanel === PanelView.Text || currentPanel === PanelView.Pdf);
187
266
  const keepPdfPreviewMounted = hasVisitedPdfPanel && !showProcessingPanel;
188
267
  const textContainerRef = useRef(null);
189
- 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 && (_jsx(Button, { variant: currentPanel === PanelView.Image ? 'primary' : 'ghost', size: "sm", alt: t('store.viewImage'), onClick: () => setCurrentPanel(PanelView.Image), children: "Image" })), isVideo && (_jsx(Button, { variant: currentPanel === PanelView.Video ? 'primary' : 'ghost', size: "sm", alt: t('store.viewVideo'), onClick: () => setCurrentPanel(PanelView.Video), children: "Video" })), isAudio && (_jsx(Button, { variant: currentPanel === PanelView.Audio ? 'primary' : 'ghost', size: "sm", alt: t('store.viewAudio'), onClick: () => setCurrentPanel(PanelView.Audio), children: "Audio" })), hasTranscript && (_jsx(Button, { variant: currentPanel === PanelView.Transcript ? 'primary' : 'ghost', size: "sm", alt: t('store.viewTranscript'), onClick: () => setCurrentPanel(PanelView.Transcript), children: "Transcript" })), _jsx(Button, { variant: currentPanel === PanelView.Text ? 'primary' : 'ghost', size: "sm", alt: t('store.viewText'), onClick: () => setCurrentPanel(PanelView.Text), children: "Text" }), isPdf && (_jsx(Button, { variant: currentPanel === PanelView.Pdf ? 'primary' : 'ghost', size: "sm", alt: t('store.viewPdf'), onClick: () => setCurrentPanel(PanelView.Pdf), children: "PDF" })), isPreviewableAsPdfDoc && (_jsx(Button, { variant: currentPanel === PanelView.Pdf ? 'primary' : 'ghost', size: "sm", alt: t('store.viewAsPdf'), onClick: () => {
268
+ 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 && (_jsx(Button, { variant: currentPanel === PanelView.Image ? 'primary' : 'ghost', size: "sm", title: t('store.viewImage'), onClick: () => setCurrentPanel(PanelView.Image), children: "Image" })), isVideo && (_jsx(Button, { variant: currentPanel === PanelView.Video ? 'primary' : 'ghost', size: "sm", title: t('store.viewVideo'), onClick: () => setCurrentPanel(PanelView.Video), children: "Video" })), isAudio && (_jsx(Button, { variant: currentPanel === PanelView.Audio ? 'primary' : 'ghost', size: "sm", title: t('store.viewAudio'), onClick: () => setCurrentPanel(PanelView.Audio), children: "Audio" })), hasTranscript && (_jsx(Button, { variant: currentPanel === PanelView.Transcript ? 'primary' : 'ghost', size: "sm", title: t('store.viewTranscript'), onClick: () => setCurrentPanel(PanelView.Transcript), children: "Transcript" })), _jsx(Button, { variant: currentPanel === PanelView.Text ? 'primary' : 'ghost', size: "sm", title: t('store.viewText'), onClick: () => setCurrentPanel(PanelView.Text), children: "Text" }), isPdf && (_jsx(Button, { variant: currentPanel === PanelView.Pdf ? 'primary' : 'ghost', size: "sm", title: t('store.viewPdf'), onClick: () => setCurrentPanel(PanelView.Pdf), children: "PDF" })), isPreviewableAsPdfDoc && (_jsx(Button, { variant: currentPanel === PanelView.Pdf ? 'primary' : 'ghost', size: "sm", title: t('store.viewAsPdf'), onClick: () => {
190
269
  setCurrentPanel(PanelView.Pdf);
191
270
  if (!pdfRendition && !officePdfUrl && !officePdfConverting) {
192
271
  void triggerOfficePdfConversion();
193
272
  }
194
- }, disabled: officePdfConverting, children: officePdfConverting ? _jsx(Spinner, { size: "sm" }) : 'PDF' }))] }), _jsx(PdfActions, { object: object })] }), currentPanel === PanelView.Text && !showProcessingPanel && !isEditing && (_jsx(TextActions, { object: object, text: displayText, fullText: fullText, handleCopyContent: handleCopyContent, textContainerRef: textContainerRef, isEditing: isEditing, onToggleEdit: () => setIsEditing(true), canEdit: canEdit })), currentPanel === PanelView.Pdf && isPreviewableAsPdfDoc && (pdfRendition || officePdfUrl) && (_jsx(OfficePdfActions, { object: object, pdfRendition: pdfRendition, officePdfUrl: officePdfUrl }))] }), currentPanel === PanelView.Image && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(ImagePanel, { object: object }) })), currentPanel === PanelView.Video && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(VideoPanel, { object: object }) })), currentPanel === PanelView.Audio && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(AudioPanel, { object: object }) })), hasTranscript && currentPanel === PanelView.Transcript && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(TranscriptPanel, { object: object, handleCopyContent: handleCopyContent }) })), isPdf && keepPdfPreviewMounted && (_jsx("div", { className: getPanelVisibility(showPdfPreviewPanel), children: _jsx(PdfPreviewPanel, { object: object }) })), isPreviewableAsPdfDoc && keepPdfPreviewMounted && (_jsx("div", { className: getPanelVisibility(showPdfPreviewPanel), children: _jsx(OfficePdfPreviewPanel, { pdfRendition: pdfRendition, officePdfUrl: officePdfUrl, officePdfConverting: officePdfConverting, officePdfError: officePdfError, onConvert: triggerOfficePdfConversion }) })), showPdfProcessingPanel && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(PdfProcessingPanel, { progress: pdfProgress, status: pdfStatus, outputFormat: pdfOutputFormat }) })), currentPanel === PanelView.Text && !showProcessingPanel && !isEditing && isLoadingText && (_jsx("div", { className: getPanelVisibility(true), children: _jsx("div", { className: "flex justify-center items-center flex-1", children: _jsx(Spinner, { size: "lg" }) }) })), currentPanel === PanelView.Text && !showProcessingPanel && !isEditing && !isLoadingText && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(TextPanel, { object: object, text: displayText, isTextCropped: isTextCropped, textContainerRef: textContainerRef }) })), isEditing && currentPanel === PanelView.Text && fullText != null && (_jsx(TextEditorPanel, { object: object, text: fullText, onClose: () => setIsEditing(false), onSaved: () => {
273
+ }, disabled: officePdfConverting, children: officePdfConverting ? _jsx(Spinner, { size: "sm" }) : 'PDF' }))] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(PdfActions, { object: object }), _jsx(GroundedActions, { objectId: object.id, available: groundedAvailable })] })] }), currentPanel === PanelView.Text && !showProcessingPanel && !isEditing && (_jsx(TextActions, { object: object, text: displayText, fullText: fullText, handleCopyContent: handleCopyContent, textContainerRef: textContainerRef, isEditing: isEditing, onToggleEdit: () => setIsEditing(true), canEdit: canEdit })), currentPanel === PanelView.Pdf && isPreviewableAsPdfDoc && (pdfRendition || officePdfUrl) && (_jsx(OfficePdfActions, { object: object, pdfRendition: pdfRendition, officePdfUrl: officePdfUrl }))] }), currentPanel === PanelView.Image && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(ImagePanel, { object: object }) })), currentPanel === PanelView.Video && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(VideoPanel, { object: object }) })), currentPanel === PanelView.Audio && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(AudioPanel, { object: object }) })), hasTranscript && currentPanel === PanelView.Transcript && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(TranscriptPanel, { object: object, handleCopyContent: handleCopyContent }) })), isPdf && keepPdfPreviewMounted && (_jsx("div", { className: getPanelVisibility(showPdfPreviewPanel), children: _jsx(PdfPreviewPanel, { object: object }) })), isPreviewableAsPdfDoc && keepPdfPreviewMounted && (_jsx("div", { className: getPanelVisibility(showPdfPreviewPanel), children: _jsx(OfficePdfPreviewPanel, { object: object, pdfRendition: pdfRendition, officePdfUrl: officePdfUrl, converters: officePdfConverters, officePdfConverting: officePdfConverting, officePdfError: officePdfError }) })), showPdfProcessingPanel && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(PdfProcessingPanel, { progress: pdfProgress, status: pdfStatus }) })), currentPanel === PanelView.Text && !showProcessingPanel && !isEditing && isLoadingText && (_jsx("div", { className: getPanelVisibility(true), children: _jsx("div", { className: "flex justify-center items-center flex-1", children: _jsx(Spinner, { size: "lg" }) }) })), currentPanel === PanelView.Text && !showProcessingPanel && !isEditing && !isLoadingText && (_jsx("div", { className: getPanelVisibility(true), children: _jsx(TextPanel, { object: object, text: displayText, isTextCropped: isTextCropped, textContainerRef: textContainerRef }) })), isEditing && currentPanel === PanelView.Text && fullText != null && (_jsx(TextEditorPanel, { object: object, text: fullText, onClose: () => setIsEditing(false), onSaved: () => {
195
274
  setIsEditing(false);
196
275
  reloadText();
197
276
  void refetch?.();
@@ -206,8 +285,6 @@ function TextActions({ object, text, fullText, handleCopyContent, onToggleEdit,
206
285
  const { data: fullProject } = useFetch(() => (project ? client.projects.retrieve(project.id) : Promise.resolve(undefined)), [project?.id]);
207
286
  const pdfTemplateObjectId = fullProject?.configuration?.pdf_template_object_id;
208
287
  const isMarkdown = content?.type && content.type === 'text/markdown';
209
- // Get content processor type for file extension detection
210
- const contentProcessorType = getContentProcessorType(object);
211
288
  const handleExportDocument = async (format, useDefaultTemplate) => {
212
289
  // Prevent multiple concurrent exports
213
290
  if (isDownloading)
@@ -239,11 +316,11 @@ function TextActions({ object, text, fullText, handleCopyContent, onToggleEdit,
239
316
  // Determine file extension based on content processor type
240
317
  let ext = 'txt';
241
318
  let mimeType = 'text/plain';
242
- if (contentProcessorType === 'xml') {
319
+ if (content?.type === 'application/xml' || content?.type === 'text/xml') {
243
320
  ext = 'xml';
244
321
  mimeType = 'text/xml';
245
322
  }
246
- else if (contentProcessorType === 'markdown' || isMarkdown) {
323
+ else if (isMarkdown) {
247
324
  ext = 'md';
248
325
  mimeType = 'text/markdown';
249
326
  }
@@ -261,20 +338,27 @@ function TextActions({ object, text, fullText, handleCopyContent, onToggleEdit,
261
338
  URL.revokeObjectURL(url);
262
339
  }, 0);
263
340
  };
264
- 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: [fullText && (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", size: "sm", title: "Copy text", onClick: () => handleCopyContent(fullText, 'text'), children: _jsx(Copy, { className: "size-4" }) }), canEdit && onToggleEdit && (_jsx(SecureButton, { permission: Permission.content_write, variant: "ghost", size: "sm", onClick: onToggleEdit, title: t('store.editText'), className: "flex items-center gap-2", children: _jsx(SquarePen, { className: "size-4" }) }))] })), isDownloading ? (_jsx(Button, { variant: "ghost", size: "sm", disabled: true, className: "flex items-center gap-2", alt: "download", children: _jsx(Spinner, { size: "sm" }) })) : (_jsxs(Dropdown, { trigger: _jsx(Button, { variant: "ghost", size: "sm", disabled: !text, className: "flex items-center gap-2", alt: "download", children: _jsx(Download, { className: "size-4" }) }), children: [fullText && (_jsx(MenuItem, { onClick: handleDownloadText, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Download Text"] }) })), isMarkdown && text && (_jsxs(_Fragment, { children: [_jsx(MenuItem, { onClick: handleExportDocx, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Export as DOCX"] }) }), _jsx(MenuItem, { onClick: handleExportPdf, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Export as PDF"] }) }), _jsx(MenuItem, { onClick: handleExportBrandedPdf, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Export as Branded PDF"] }) })] }))] }))] }) }));
341
+ 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: [fullText && (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", size: "sm", title: "Copy text", onClick: () => handleCopyContent(fullText, 'text'), children: _jsx(Copy, { className: "size-4" }) }), canEdit && onToggleEdit && (_jsx(SecureButton, { permission: Permission.content_write, variant: "ghost", size: "sm", onClick: onToggleEdit, title: t('store.editText'), className: "flex items-center gap-2", children: _jsx(SquarePen, { className: "size-4" }) }))] })), isDownloading ? (_jsx(Button, { variant: "ghost", size: "sm", disabled: true, className: "flex items-center gap-2", title: "download", children: _jsx(Spinner, { size: "sm" }) })) : (_jsxs(Dropdown, { trigger: _jsx(Button, { variant: "ghost", size: "sm", disabled: !text, className: "flex items-center gap-2", title: "download", children: _jsx(Download, { className: "size-4" }) }), children: [fullText && (_jsx(MenuItem, { onClick: handleDownloadText, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Download Text"] }) })), isMarkdown && text && (_jsxs(_Fragment, { children: [_jsx(MenuItem, { onClick: handleExportDocx, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Export as DOCX"] }) }), _jsx(MenuItem, { onClick: handleExportPdf, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Export as PDF"] }) }), _jsx(MenuItem, { onClick: handleExportBrandedPdf, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Download, { className: "size-4" }), "Export as Branded PDF"] }) })] }))] }))] }) }));
265
342
  }
266
343
  const TextPanel = memo(({ object, text, isTextCropped, textContainerRef }) => {
267
344
  const { t } = useUITranslation();
268
- const content = object.content;
269
345
  const isCreatedOrProcessing = isCreatedOrProcessingStatus(object?.status);
270
- // Check content processor type for XML
346
+ const content = object.content;
271
347
  const contentProcessorType = getContentProcessorType(object);
272
- const isXml = contentProcessorType === 'xml';
348
+ const isXml = contentProcessorType === 'xml' || content?.type === 'application/xml' || content?.type === 'text/xml';
273
349
  // Check if content type is markdown or plain text
274
350
  const isMarkdownOrText = content?.type && (content.type === 'text/markdown' || content.type === 'text/plain');
275
351
  // Render as markdown if it's markdown/text type OR if text looks like markdown (but not if XML)
276
352
  const shouldRenderAsMarkdown = !isXml && (isMarkdownOrText || looksLikeMarkdown(text));
277
- return text ? (_jsxs(_Fragment, { children: [isTextCropped && (_jsx("div", { className: "px-2 py-2 bg-attention/10 border-s-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: t('store.showingFirst128K') })] }) })), _jsx("div", { className: `max-w-7xl px-2 h-full 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 })) })] })) : (_jsx("div", { className: "px-2", children: _jsx("div", { children: isCreatedOrProcessing ? 'Extracting content...' : 'No content' }) }));
353
+ const source = {
354
+ id: object.id,
355
+ title: object.name,
356
+ fileName: object.content?.name || object.name,
357
+ contentType: isXml ? 'text/xml' : shouldRenderAsMarkdown ? 'text/markdown' : object.content?.type,
358
+ content: text,
359
+ sourcePath: object.content?.source,
360
+ };
361
+ return text ? (_jsxs(_Fragment, { children: [isTextCropped && (_jsx("div", { className: "px-2 py-2 bg-attention/10 border-s-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: t('store.showingFirst128K') })] }) })), _jsx("div", { className: `max-w-7xl px-2 h-full overflow-auto`, ref: textContainerRef, children: _jsx(UniversalDocumentViewer, { source: source, className: "h-full", bodyClassName: "overflow-auto", markdownComponents: createMarkdownComponents() }) })] })) : (_jsx("div", { className: "px-2", children: _jsx("div", { children: isCreatedOrProcessing ? 'Extracting content...' : 'No content' }) }));
278
362
  });
279
363
  function TranscriptPanel({ object, handleCopyContent, }) {
280
364
  const { t } = useUITranslation();
@@ -296,13 +380,19 @@ function TranscriptPanel({ object, handleCopyContent, }) {
296
380
  }
297
381
  function PdfActions({ object }) {
298
382
  const [isPdfPreviewOpen, setPdfPreviewOpen] = useState(false);
299
- // Check if PDF has been processed (content_processor.type is xml or markdown)
300
383
  const contentProcessorType = getContentProcessorType(object);
301
- const hasPdfAnalysis = contentProcessorType === 'xml' || contentProcessorType === 'markdown';
384
+ const hasPdfAnalysis = contentProcessorType === 'markdown';
302
385
  if (!hasPdfAnalysis)
303
386
  return null;
304
387
  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) }) }))] }));
305
388
  }
389
+ function GroundedActions({ objectId, available }) {
390
+ const { t } = useUITranslation();
391
+ const [isGroundedOpen, setGroundedOpen] = useState(false);
392
+ if (!available)
393
+ return null;
394
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: () => setGroundedOpen(true), title: t('grounded.title'), "aria-label": t('grounded.title'), children: _jsx(ScanSearch, { className: "size-4" }) }), isGroundedOpen && (_jsx(Portal, { children: _jsx(GroundedExtractionView, { objectId: objectId, onClose: () => setGroundedOpen(false) }) }))] }));
395
+ }
306
396
  function OfficePdfActions({ object, pdfRendition, officePdfUrl }) {
307
397
  const { client } = useUserSession();
308
398
  const toast = useToast();
@@ -338,13 +428,20 @@ function OfficePdfActions({ object, pdfRendition, officePdfUrl }) {
338
428
  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" }) }) }));
339
429
  }
340
430
  function PdfPreviewPanel({ object }) {
341
- return (_jsx("div", { className: "h-full", children: _jsx(SimplePdfViewer, { object: object, className: "h-full" }) }));
431
+ const source = {
432
+ id: object.id,
433
+ title: object.name,
434
+ fileName: object.content?.name || object.name,
435
+ contentType: object.content?.type,
436
+ sourcePath: object.content?.source,
437
+ };
438
+ return (_jsx("div", { className: "h-full", children: _jsx(UniversalDocumentViewer, { source: source, className: "h-full" }) }));
342
439
  }
343
440
  /**
344
441
  * Panel for displaying Office documents converted to PDF.
345
442
  * Handles the various states: converting, error, showing PDF.
346
443
  */
347
- function OfficePdfPreviewPanel({ pdfRendition, officePdfUrl, officePdfConverting, officePdfError, onConvert, }) {
444
+ function OfficePdfPreviewPanel({ object, pdfRendition, officePdfUrl, converters, officePdfConverting, officePdfError, }) {
348
445
  const { t } = useUITranslation();
349
446
  if (officePdfConverting) {
350
447
  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: t('store.convertingToPdf') })] }));
@@ -353,22 +450,42 @@ function OfficePdfPreviewPanel({ pdfRendition, officePdfUrl, officePdfConverting
353
450
  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 })] }));
354
451
  }
355
452
  if (pdfRendition?.content?.source) {
356
- return (_jsx("div", { className: "h-full", children: _jsx(SimplePdfViewer, { source: pdfRendition.content.source, className: "h-full" }) }));
453
+ const source = {
454
+ id: object.id,
455
+ title: object.name,
456
+ fileName: `${object.name || 'document'}.pdf`,
457
+ contentType: 'application/pdf',
458
+ sourcePath: pdfRendition.content.source,
459
+ };
460
+ return (_jsx("div", { className: "h-full", children: _jsx(UniversalDocumentViewer, { source: source, className: "h-full" }) }));
357
461
  }
358
462
  if (officePdfUrl) {
359
- return (_jsx("div", { className: "h-full", children: _jsx(SimplePdfViewer, { url: officePdfUrl, className: "h-full" }) }));
463
+ const source = {
464
+ id: object.id,
465
+ title: object.name,
466
+ fileName: `${object.name || 'document'}.pdf`,
467
+ contentType: 'application/pdf',
468
+ url: officePdfUrl,
469
+ };
470
+ return (_jsx("div", { className: "h-full", children: _jsx(UniversalDocumentViewer, { source: source, className: "h-full" }) }));
360
471
  }
361
- return (_jsx("div", { className: "flex flex-col justify-center items-center flex-1 gap-2", children: _jsx(Button, { onClick: onConvert, children: "Convert to PDF" }) }));
472
+ const source = {
473
+ id: object.id,
474
+ title: object.name,
475
+ fileName: object.content?.name || object.name,
476
+ contentType: object.content?.type,
477
+ sourcePath: object.content?.source,
478
+ };
479
+ return (_jsx("div", { className: "h-full", children: _jsx(UniversalDocumentViewer, { source: source, converters: converters, className: "h-full" }) }));
362
480
  }
363
- function PdfProcessingPanel({ progress, status, outputFormat, }) {
481
+ function PdfProcessingPanel({ progress, status, }) {
364
482
  const { t } = useUITranslation();
365
483
  const statusColor = getWorkflowStatusColor(status);
366
484
  const statusName = getWorkflowStatusName(status);
367
- // Show detailed progress (tables, images, visuals) for XML processing
368
- const isXmlProcessing = outputFormat === 'xml';
485
+ const isGroundedExtraction = progress?.phase === 'grounded_extraction';
369
486
  // Ensure percent is a valid number (handle undefined and NaN from division by zero)
370
487
  const percent = progress?.percent != null && !Number.isNaN(progress.percent) ? progress.percent : 0;
371
- 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: t('store.loadingProcessingStatus') })] }))] }));
488
+ 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: isGroundedExtraction ? 'Prepare Evidence' : 'Analyze Page', progress: progress.pages }), isGroundedExtraction && (_jsxs(_Fragment, { children: [_jsx(ProgressLine, { name: "Run OCR", progress: progress.images }), _jsx(ProgressLine, { name: "Extract Grounded Data", progress: progress.tables }), _jsx(ProgressLine, { name: "Review and Annotate", 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: t('store.loadingProcessingStatus') })] }))] }));
372
489
  }
373
490
  function ProgressLine({ name, progress }) {
374
491
  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] })] }));