@vertesia/ui 1.0.0-dev.20260227.112605Z → 1.0.0-dev.20260331.091034Z

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 (796) hide show
  1. package/lib/esm/core/components/SelectList.js +3 -1
  2. package/lib/esm/core/components/SelectList.js.map +1 -1
  3. package/lib/esm/core/components/SidePanel.js +2 -2
  4. package/lib/esm/core/components/SidePanel.js.map +1 -1
  5. package/lib/esm/core/components/index.js +0 -5
  6. package/lib/esm/core/components/index.js.map +1 -1
  7. package/lib/esm/core/components/shadcn/breadcrumb.js +11 -7
  8. package/lib/esm/core/components/shadcn/breadcrumb.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/button.js +5 -3
  10. package/lib/esm/core/components/shadcn/button.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/collaspible.js +14 -0
  12. package/lib/esm/core/components/shadcn/collaspible.js.map +1 -0
  13. package/lib/esm/core/components/shadcn/dropdown.js +64 -0
  14. package/lib/esm/core/components/shadcn/dropdown.js.map +1 -0
  15. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -1
  16. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  17. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +3 -1
  18. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -1
  19. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +1 -1
  20. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +1 -1
  21. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js +1 -1
  22. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +1 -1
  23. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +4 -2
  24. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +1 -1
  25. package/lib/esm/core/components/shadcn/filters/filterBar.js +7 -4
  26. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  27. package/lib/esm/core/components/shadcn/index.js +4 -0
  28. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  29. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +4 -2
  30. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
  31. package/lib/esm/core/components/shadcn/modal/DeleteModal.js +5 -3
  32. package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -1
  33. package/lib/esm/core/components/shadcn/popover.js +11 -7
  34. package/lib/esm/core/components/shadcn/popover.js.map +1 -1
  35. package/lib/esm/core/components/shadcn/radioGroup.js +29 -0
  36. package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -0
  37. package/lib/esm/core/components/shadcn/selectBox.js +1 -1
  38. package/lib/esm/core/components/shadcn/switch.js +19 -0
  39. package/lib/esm/core/components/shadcn/switch.js.map +1 -0
  40. package/lib/esm/core/components/shadcn/tabs.js +6 -6
  41. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  42. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +8 -6
  43. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
  44. package/lib/esm/core/components/shadcn/tooltip.js +1 -1
  45. package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
  46. package/lib/esm/core/components/toast/NotificationPanel.js +3 -3
  47. package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
  48. package/lib/esm/core/hooks/PortalContainerProvider.js +9 -3
  49. package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -1
  50. package/lib/esm/env/index.js +16 -9
  51. package/lib/esm/env/index.js.map +1 -1
  52. package/lib/esm/features/agent/PayloadBuilder.js +87 -15
  53. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  54. package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
  55. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
  56. package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
  57. package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
  58. package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
  59. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  60. package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
  61. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  62. package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
  63. package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
  64. package/lib/esm/features/agent/chat/ModernAgentConversation.js +241 -113
  65. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +76 -33
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  72. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
  73. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  74. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
  75. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  76. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
  77. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  78. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
  79. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  80. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
  81. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  82. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
  83. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  84. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
  85. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  86. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
  87. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  88. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
  89. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  90. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
  91. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  92. package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
  93. package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
  94. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
  95. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
  96. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +79 -16
  97. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  98. package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
  99. package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
  100. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
  101. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  102. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
  103. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
  104. package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
  105. package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
  106. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
  107. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  108. package/lib/esm/features/facets/RunsFacetsNav.js +9 -2
  109. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  110. package/lib/esm/features/facets/index.js +1 -1
  111. package/lib/esm/features/facets/index.js.map +1 -1
  112. package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
  113. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  114. package/lib/esm/features/layout/NotFoundView.js +3 -1
  115. package/lib/esm/features/layout/NotFoundView.js.map +1 -1
  116. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
  117. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  118. package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
  119. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
  120. package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
  121. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
  122. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
  123. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  124. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
  125. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  126. package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
  127. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
  128. package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
  129. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  130. package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
  131. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  132. package/lib/esm/features/store/collections/CreateCollection.js +21 -18
  133. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  134. package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
  135. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  136. package/lib/esm/features/store/collections/SelectCollection.js +25 -10
  137. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  138. package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
  139. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
  140. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
  141. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
  142. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
  143. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  144. package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
  145. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  146. package/lib/esm/features/store/objects/DocumentTable.js +10 -7
  147. package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
  148. package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
  149. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  150. package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
  151. package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  152. package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
  153. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  154. package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
  155. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  156. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
  157. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  158. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
  159. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  160. package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
  161. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  162. package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
  163. package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
  164. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
  165. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  166. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
  167. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  168. package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
  169. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
  170. package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
  171. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  172. package/lib/esm/features/store/objects/layout/renderers.js +10 -1
  173. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  174. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
  175. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  176. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
  177. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
  178. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
  179. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  180. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
  181. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
  182. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
  183. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
  184. package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
  185. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  186. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
  187. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  188. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
  189. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  190. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
  191. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
  192. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
  193. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  194. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
  195. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  196. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
  197. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
  198. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
  199. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  200. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
  201. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  202. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
  203. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  204. package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
  205. package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
  206. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
  207. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
  208. package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
  209. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
  210. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
  211. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  212. package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
  213. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  214. package/lib/esm/features/store/types/SelectContentType.js +9 -7
  215. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  216. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
  217. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  218. package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
  219. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  220. package/lib/esm/features/user/UserInfo.js +40 -50
  221. package/lib/esm/features/user/UserInfo.js.map +1 -1
  222. package/lib/esm/i18n/index.js +31 -0
  223. package/lib/esm/i18n/index.js.map +1 -0
  224. package/lib/esm/i18n/instance.js +46 -0
  225. package/lib/esm/i18n/instance.js.map +1 -0
  226. package/lib/esm/i18n/locales/ar.json +696 -0
  227. package/lib/esm/i18n/locales/de.json +664 -0
  228. package/lib/esm/i18n/locales/en.json +665 -0
  229. package/lib/esm/i18n/locales/es.json +670 -0
  230. package/lib/esm/i18n/locales/fr.json +672 -0
  231. package/lib/esm/i18n/locales/it.json +670 -0
  232. package/lib/esm/i18n/locales/ja.json +664 -0
  233. package/lib/esm/i18n/locales/ko.json +664 -0
  234. package/lib/esm/i18n/locales/pt.json +670 -0
  235. package/lib/esm/i18n/locales/ru.json +680 -0
  236. package/lib/esm/i18n/locales/tr.json +664 -0
  237. package/lib/esm/i18n/locales/zh-TW.json +664 -0
  238. package/lib/esm/i18n/locales/zh.json +664 -0
  239. package/lib/esm/layout/FullHeightLayout.js +3 -0
  240. package/lib/esm/layout/FullHeightLayout.js.map +1 -1
  241. package/lib/esm/layout/Navbar.js +3 -1
  242. package/lib/esm/layout/Navbar.js.map +1 -1
  243. package/lib/esm/layout/RegionTag.js +15 -0
  244. package/lib/esm/layout/RegionTag.js.map +1 -0
  245. package/lib/esm/layout/Sidebar.js +2 -2
  246. package/lib/esm/layout/Sidebar.js.map +1 -1
  247. package/lib/esm/layout/index.js +1 -0
  248. package/lib/esm/layout/index.js.map +1 -1
  249. package/lib/esm/router/HistoryNavigator.js +1 -1
  250. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  251. package/lib/esm/router/Nav.js +5 -3
  252. package/lib/esm/router/Nav.js.map +1 -1
  253. package/lib/esm/router/NestedNavigationContext.js +4 -0
  254. package/lib/esm/router/NestedNavigationContext.js.map +1 -1
  255. package/lib/esm/router/NestedRouterProvider.js +3 -1
  256. package/lib/esm/router/NestedRouterProvider.js.map +1 -1
  257. package/lib/esm/router/Router.js +21 -6
  258. package/lib/esm/router/Router.js.map +1 -1
  259. package/lib/esm/session/UserSession.js +33 -4
  260. package/lib/esm/session/UserSession.js.map +1 -1
  261. package/lib/esm/session/UserSessionProvider.js +6 -13
  262. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  263. package/lib/esm/session/auth/composable.js +1 -1
  264. package/lib/esm/session/auth/composable.js.map +1 -1
  265. package/lib/esm/session/auth/domainRouting.js +17 -0
  266. package/lib/esm/session/auth/domainRouting.js.map +1 -0
  267. package/lib/esm/session/auth/firebase.js +1 -1
  268. package/lib/esm/session/auth/firebase.js.map +1 -1
  269. package/lib/esm/session/auth/useCurrentTenant.js +3 -1
  270. package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
  271. package/lib/esm/shell/SplashScreen.js +3 -7
  272. package/lib/esm/shell/SplashScreen.js.map +1 -1
  273. package/lib/esm/shell/apps/StandaloneApp.js +5 -2
  274. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  275. package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
  276. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
  277. package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
  278. package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
  279. package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
  280. package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
  281. package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
  282. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  283. package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
  284. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
  285. package/lib/esm/shell/login/SigninScreen.js +6 -2
  286. package/lib/esm/shell/login/SigninScreen.js.map +1 -1
  287. package/lib/esm/shell/login/SignupForm.js +36 -34
  288. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  289. package/lib/esm/shell/login/TerminalLogin.js +29 -22
  290. package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
  291. package/lib/esm/shell/login/UserInfo.js +6 -4
  292. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  293. package/lib/esm/shell/login/UserSessionMenu.js +3 -4
  294. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
  295. package/lib/esm/widgets/index.js +0 -1
  296. package/lib/esm/widgets/index.js.map +1 -1
  297. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  298. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  299. package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
  300. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  301. package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
  302. package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
  303. package/lib/esm/widgets/json-view/JSONView.js +1 -1
  304. package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
  305. package/lib/esm/widgets/json-view/index.js +1 -0
  306. package/lib/esm/widgets/json-view/index.js.map +1 -1
  307. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
  308. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  309. package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
  310. package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
  311. package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
  312. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  313. package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
  314. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  315. package/lib/esm/widgets/markdown/index.js +10 -9
  316. package/lib/esm/widgets/markdown/index.js.map +1 -1
  317. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
  318. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  319. package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
  320. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  321. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
  322. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  323. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
  324. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  325. package/lib/esm/widgets/upload/DropZone.js +9 -11
  326. package/lib/esm/widgets/upload/DropZone.js.map +1 -1
  327. package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
  328. package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
  329. package/lib/esm/widgets/upload/UploadSummary.js +3 -1
  330. package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
  331. package/lib/tsconfig.tsbuildinfo +1 -1
  332. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  333. package/lib/types/core/components/SidePanel.d.ts +4 -2
  334. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  335. package/lib/types/core/components/index.d.ts +0 -5
  336. package/lib/types/core/components/index.d.ts.map +1 -1
  337. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  338. package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
  339. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
  340. package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
  341. package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
  342. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
  343. package/lib/types/core/components/shadcn/dropdown.d.ts +51 -0
  344. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
  345. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
  346. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
  347. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
  348. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  349. package/lib/types/core/components/shadcn/index.d.ts +4 -0
  350. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  351. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  352. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
  353. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
  354. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
  355. package/lib/types/core/components/shadcn/popover.d.ts +11 -3
  356. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  357. package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
  358. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
  359. package/lib/types/core/components/shadcn/switch.d.ts +12 -0
  360. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
  361. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  362. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  363. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +8 -2
  364. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
  365. package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
  366. package/lib/types/core/hooks/PortalContainerProvider.d.ts +1 -0
  367. package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -1
  368. package/lib/types/env/index.d.ts +12 -3
  369. package/lib/types/env/index.d.ts.map +1 -1
  370. package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
  371. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  372. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
  373. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
  374. package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
  375. package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
  376. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  377. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  378. package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  379. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
  380. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  381. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  382. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  383. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  384. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +13 -4
  385. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  386. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
  387. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  388. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  389. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  390. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  391. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
  392. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
  393. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  394. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
  395. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  396. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  397. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
  398. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  399. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  400. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  401. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
  402. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +5 -3
  403. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  404. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
  405. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
  406. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  407. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
  408. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
  409. package/lib/types/features/agent/chat/types/document.d.ts +2 -0
  410. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
  411. package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
  412. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
  413. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
  414. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
  415. package/lib/types/features/facets/index.d.ts +1 -1
  416. package/lib/types/features/facets/index.d.ts.map +1 -1
  417. package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
  418. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  419. package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
  420. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
  421. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  422. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  423. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
  424. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  425. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  426. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  427. package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
  428. package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
  429. package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
  430. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  431. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  432. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
  433. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
  434. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  435. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  436. package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
  437. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  438. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  439. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  440. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
  441. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  442. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  443. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
  444. package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
  445. package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
  446. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
  447. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
  448. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  449. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  450. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  451. package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
  452. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  453. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  454. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  455. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
  456. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
  457. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  458. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
  459. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
  460. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
  461. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
  462. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
  463. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  464. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
  465. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  466. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
  467. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  468. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
  469. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
  470. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
  471. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  472. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
  473. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
  474. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  475. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  476. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
  477. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
  478. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  479. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
  480. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
  481. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  482. package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
  483. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  484. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  485. package/lib/types/features/user/UserInfo.d.ts +2 -2
  486. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  487. package/lib/types/i18n/index.d.ts +14 -0
  488. package/lib/types/i18n/index.d.ts.map +1 -0
  489. package/lib/types/i18n/instance.d.ts +5 -0
  490. package/lib/types/i18n/instance.d.ts.map +1 -0
  491. package/lib/types/layout/FullHeightLayout.d.ts +3 -0
  492. package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
  493. package/lib/types/layout/Navbar.d.ts.map +1 -1
  494. package/lib/types/layout/RegionTag.d.ts +4 -0
  495. package/lib/types/layout/RegionTag.d.ts.map +1 -0
  496. package/lib/types/layout/Sidebar.d.ts +2 -1
  497. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  498. package/lib/types/layout/index.d.ts +1 -0
  499. package/lib/types/layout/index.d.ts.map +1 -1
  500. package/lib/types/router/Nav.d.ts +5 -1
  501. package/lib/types/router/Nav.d.ts.map +1 -1
  502. package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
  503. package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
  504. package/lib/types/router/Router.d.ts +2 -0
  505. package/lib/types/router/Router.d.ts.map +1 -1
  506. package/lib/types/session/UserSession.d.ts +1 -0
  507. package/lib/types/session/UserSession.d.ts.map +1 -1
  508. package/lib/types/session/UserSessionProvider.d.ts +0 -1
  509. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  510. package/lib/types/session/auth/domainRouting.d.ts +3 -0
  511. package/lib/types/session/auth/domainRouting.d.ts.map +1 -0
  512. package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
  513. package/lib/types/shell/SplashScreen.d.ts.map +1 -1
  514. package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
  515. package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
  516. package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
  517. package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
  518. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  519. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
  520. package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
  521. package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
  522. package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
  523. package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -1
  524. package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
  525. package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
  526. package/lib/types/widgets/index.d.ts +0 -1
  527. package/lib/types/widgets/index.d.ts.map +1 -1
  528. package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
  529. package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
  530. package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
  531. package/lib/types/widgets/json-view/index.d.ts +1 -0
  532. package/lib/types/widgets/json-view/index.d.ts.map +1 -1
  533. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  534. package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
  535. package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
  536. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  537. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
  538. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  539. package/lib/types/widgets/markdown/index.d.ts +10 -9
  540. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  541. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  542. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  543. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
  544. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  545. package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
  546. package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  547. package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -1
  548. package/lib/vertesia-ui-core.js +1 -1
  549. package/lib/vertesia-ui-core.js.map +1 -1
  550. package/lib/vertesia-ui-env.js +1 -1
  551. package/lib/vertesia-ui-env.js.map +1 -1
  552. package/lib/vertesia-ui-features.js +1 -1
  553. package/lib/vertesia-ui-features.js.map +1 -1
  554. package/lib/vertesia-ui-i18n.js +2 -0
  555. package/lib/vertesia-ui-i18n.js.map +1 -0
  556. package/lib/vertesia-ui-layout.js +1 -1
  557. package/lib/vertesia-ui-layout.js.map +1 -1
  558. package/lib/vertesia-ui-router.js +1 -1
  559. package/lib/vertesia-ui-router.js.map +1 -1
  560. package/lib/vertesia-ui-session.js +1 -1
  561. package/lib/vertesia-ui-session.js.map +1 -1
  562. package/lib/vertesia-ui-shell.js +1 -1
  563. package/lib/vertesia-ui-shell.js.map +1 -1
  564. package/lib/vertesia-ui-widgets.js +1 -1
  565. package/lib/vertesia-ui-widgets.js.map +1 -1
  566. package/llms.txt +124 -4
  567. package/package.json +50 -22
  568. package/src/core/components/SelectList.tsx +3 -1
  569. package/src/core/components/SidePanel.tsx +5 -4
  570. package/src/core/components/index.ts +0 -5
  571. package/src/core/components/shadcn/breadcrumb.tsx +16 -9
  572. package/src/core/components/shadcn/button.tsx +5 -3
  573. package/src/core/components/shadcn/collaspible.tsx +33 -0
  574. package/src/core/components/shadcn/dropdown.tsx +325 -0
  575. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
  576. package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
  577. package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
  578. package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
  579. package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
  580. package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
  581. package/src/core/components/shadcn/index.ts +5 -1
  582. package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
  583. package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
  584. package/src/core/components/shadcn/popover.tsx +12 -7
  585. package/src/core/components/shadcn/radioGroup.tsx +100 -0
  586. package/src/core/components/shadcn/selectBox.tsx +1 -1
  587. package/src/core/components/shadcn/switch.tsx +60 -0
  588. package/src/core/components/shadcn/tabs.tsx +29 -27
  589. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +19 -10
  590. package/src/core/components/shadcn/tooltip.tsx +1 -1
  591. package/src/core/components/toast/NotificationPanel.tsx +38 -44
  592. package/src/core/hooks/PortalContainerProvider.tsx +11 -3
  593. package/src/css/base.css +31 -0
  594. package/src/css/color.css +136 -0
  595. package/src/css/custom-tooltips.css +64 -0
  596. package/src/css/index.css +27 -0
  597. package/src/css/theme.css +86 -0
  598. package/src/css/typography.css +88 -0
  599. package/src/css/utilities.css +72 -0
  600. package/src/env/index.ts +24 -13
  601. package/src/features/agent/PayloadBuilder.tsx +100 -13
  602. package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
  603. package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
  604. package/src/features/agent/chat/AskUserWidget.tsx +14 -8
  605. package/src/features/agent/chat/DocumentPanel.tsx +24 -9
  606. package/src/features/agent/chat/ImageLightbox.tsx +6 -3
  607. package/src/features/agent/chat/ModernAgentConversation.tsx +538 -364
  608. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
  609. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
  610. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +183 -105
  611. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
  612. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
  613. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
  614. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
  615. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
  616. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
  617. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
  618. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
  619. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
  620. package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
  621. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
  622. package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
  623. package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
  624. package/src/features/agent/chat/hooks/useAgentStream.ts +86 -19
  625. package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
  626. package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
  627. package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
  628. package/src/features/agent/chat/types/document.ts +2 -0
  629. package/src/features/errors/PanelErrorBoundary.tsx +5 -3
  630. package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
  631. package/src/features/facets/RunsFacetsNav.tsx +15 -7
  632. package/src/features/facets/index.ts +1 -1
  633. package/src/features/layout/GenericPageNavHeader.tsx +64 -41
  634. package/src/features/layout/NotFoundView.tsx +4 -1
  635. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
  636. package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
  637. package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
  638. package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
  639. package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
  640. package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
  641. package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
  642. package/src/features/store/collections/CollectionsTable.tsx +20 -12
  643. package/src/features/store/collections/CreateCollection.tsx +45 -40
  644. package/src/features/store/collections/EditCollectionView.tsx +31 -28
  645. package/src/features/store/collections/SelectCollection.tsx +50 -14
  646. package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
  647. package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
  648. package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
  649. package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
  650. package/src/features/store/objects/DocumentTable.tsx +11 -5
  651. package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
  652. package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
  653. package/src/features/store/objects/components/ContentOverview.tsx +96 -50
  654. package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
  655. package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
  656. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
  657. package/src/features/store/objects/components/SelectDocument.tsx +15 -6
  658. package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
  659. package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
  660. package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
  661. package/src/features/store/objects/components/useDownloadFile.ts +12 -10
  662. package/src/features/store/objects/layout/documentLayout.tsx +16 -6
  663. package/src/features/store/objects/layout/renderers.tsx +27 -1
  664. package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
  665. package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
  666. package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
  667. package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
  668. package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
  669. package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
  670. package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
  671. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
  672. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
  673. package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
  674. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
  675. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
  676. package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
  677. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
  678. package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
  679. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
  680. package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
  681. package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
  682. package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
  683. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
  684. package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
  685. package/src/features/store/types/SelectContentType.tsx +15 -13
  686. package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
  687. package/src/features/store/types/TableLayoutEditor.tsx +16 -12
  688. package/src/features/user/UserInfo.tsx +47 -56
  689. package/src/i18n/index.tsx +45 -0
  690. package/src/i18n/instance.ts +49 -0
  691. package/src/i18n/locales/ar.json +696 -0
  692. package/src/i18n/locales/de.json +664 -0
  693. package/src/i18n/locales/en.json +665 -0
  694. package/src/i18n/locales/es.json +670 -0
  695. package/src/i18n/locales/fr.json +672 -0
  696. package/src/i18n/locales/it.json +670 -0
  697. package/src/i18n/locales/ja.json +664 -0
  698. package/src/i18n/locales/ko.json +664 -0
  699. package/src/i18n/locales/pt.json +670 -0
  700. package/src/i18n/locales/ru.json +680 -0
  701. package/src/i18n/locales/tr.json +664 -0
  702. package/src/i18n/locales/zh-TW.json +664 -0
  703. package/src/i18n/locales/zh.json +664 -0
  704. package/src/layout/FullHeightLayout.tsx +8 -0
  705. package/src/layout/Navbar.tsx +4 -2
  706. package/src/layout/RegionTag.tsx +25 -0
  707. package/src/layout/Sidebar.tsx +4 -3
  708. package/src/layout/index.ts +2 -1
  709. package/src/router/HistoryNavigator.ts +10 -10
  710. package/src/router/Nav.tsx +9 -3
  711. package/src/router/NestedNavigationContext.tsx +4 -0
  712. package/src/router/NestedRouterProvider.tsx +3 -1
  713. package/src/router/Router.tsx +23 -7
  714. package/src/session/UserSession.ts +34 -5
  715. package/src/session/UserSessionProvider.tsx +6 -14
  716. package/src/session/auth/composable.ts +1 -1
  717. package/src/session/auth/domainRouting.test.ts +110 -0
  718. package/src/session/auth/domainRouting.ts +22 -0
  719. package/src/session/auth/firebase.ts +1 -1
  720. package/src/session/auth/useCurrentTenant.ts +3 -1
  721. package/src/shell/SplashScreen.tsx +22 -26
  722. package/src/shell/apps/StandaloneApp.tsx +9 -6
  723. package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
  724. package/src/shell/login/GitHubSignInButton.tsx +3 -7
  725. package/src/shell/login/GoogleSignInButton.tsx +3 -1
  726. package/src/shell/login/InviteAcceptModal.tsx +5 -2
  727. package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
  728. package/src/shell/login/SigninScreen.tsx +18 -13
  729. package/src/shell/login/SignupForm.tsx +46 -46
  730. package/src/shell/login/TerminalLogin.tsx +36 -33
  731. package/src/shell/login/UserInfo.tsx +15 -13
  732. package/src/shell/login/UserSessionMenu.tsx +28 -31
  733. package/src/widgets/index.ts +0 -1
  734. package/src/widgets/json-view/JSONCode.tsx +1 -1
  735. package/src/widgets/json-view/JSONDisplay.tsx +8 -3
  736. package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
  737. package/src/widgets/json-view/JSONView.tsx +1 -1
  738. package/src/widgets/json-view/index.ts +1 -0
  739. package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
  740. package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
  741. package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
  742. package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
  743. package/src/widgets/markdown/index.ts +27 -34
  744. package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
  745. package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
  746. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
  747. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
  748. package/src/widgets/upload/DropZone.tsx +10 -13
  749. package/src/widgets/upload/UploadResultCategory.tsx +3 -1
  750. package/src/widgets/upload/UploadSummary.tsx +13 -11
  751. package/tsconfig.dist.json +1 -1
  752. package/lib/esm/core/components/Dropdown.js +0 -16
  753. package/lib/esm/core/components/Dropdown.js.map +0 -1
  754. package/lib/esm/core/components/DropdownList.js +0 -9
  755. package/lib/esm/core/components/DropdownList.js.map +0 -1
  756. package/lib/esm/core/components/RadioGroup.js +0 -34
  757. package/lib/esm/core/components/RadioGroup.js.map +0 -1
  758. package/lib/esm/core/components/SelectStack.js +0 -8
  759. package/lib/esm/core/components/SelectStack.js.map +0 -1
  760. package/lib/esm/core/components/Switch.js +0 -12
  761. package/lib/esm/core/components/Switch.js.map +0 -1
  762. package/lib/esm/widgets/popover/Popover.js +0 -73
  763. package/lib/esm/widgets/popover/Popover.js.map +0 -1
  764. package/lib/esm/widgets/popover/context.js +0 -7
  765. package/lib/esm/widgets/popover/context.js.map +0 -1
  766. package/lib/esm/widgets/popover/index.js +0 -3
  767. package/lib/esm/widgets/popover/index.js.map +0 -1
  768. package/lib/esm/widgets/popover/slots.js +0 -22
  769. package/lib/esm/widgets/popover/slots.js.map +0 -1
  770. package/lib/types/core/components/Dropdown.d.ts +0 -15
  771. package/lib/types/core/components/Dropdown.d.ts.map +0 -1
  772. package/lib/types/core/components/DropdownList.d.ts +0 -13
  773. package/lib/types/core/components/DropdownList.d.ts.map +0 -1
  774. package/lib/types/core/components/RadioGroup.d.ts +0 -26
  775. package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
  776. package/lib/types/core/components/SelectStack.d.ts +0 -13
  777. package/lib/types/core/components/SelectStack.d.ts.map +0 -1
  778. package/lib/types/core/components/Switch.d.ts +0 -11
  779. package/lib/types/core/components/Switch.d.ts.map +0 -1
  780. package/lib/types/widgets/popover/Popover.d.ts +0 -38
  781. package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
  782. package/lib/types/widgets/popover/context.d.ts +0 -8
  783. package/lib/types/widgets/popover/context.d.ts.map +0 -1
  784. package/lib/types/widgets/popover/index.d.ts +0 -3
  785. package/lib/types/widgets/popover/index.d.ts.map +0 -1
  786. package/lib/types/widgets/popover/slots.d.ts +0 -5
  787. package/lib/types/widgets/popover/slots.d.ts.map +0 -1
  788. package/src/core/components/Dropdown.tsx +0 -63
  789. package/src/core/components/DropdownList.tsx +0 -72
  790. package/src/core/components/RadioGroup.tsx +0 -100
  791. package/src/core/components/SelectStack.tsx +0 -63
  792. package/src/core/components/Switch.tsx +0 -30
  793. package/src/widgets/popover/Popover.tsx +0 -171
  794. package/src/widgets/popover/context.ts +0 -15
  795. package/src/widgets/popover/index.ts +0 -2
  796. package/src/widgets/popover/slots.ts +0 -24
@@ -1,5 +1,6 @@
1
1
  import { Button, Modal, ModalBody, ModalTitle, SelectBox, Spinner } from "@vertesia/ui/core";
2
2
  import { useState } from "react";
3
+ import { useUITranslation } from '../../../i18n/index.js';
3
4
 
4
5
  export enum ExportTypes {
5
6
  CSV = "CSV", JSON = "JSON"
@@ -32,6 +33,7 @@ interface SelectPanelProps {
32
33
  onClose: (exportType?: string | null, exportAll?: boolean) => void;
33
34
  }
34
35
  function SelectPanel({ onClose }: SelectPanelProps) {
36
+ const { t } = useUITranslation();
35
37
  const [exportType, setExportType] = useState<string | undefined>(undefined);
36
38
  const [exportAll, setExportAll] = useState<string | undefined>(undefined);
37
39
 
@@ -52,7 +54,7 @@ function SelectPanel({ onClose }: SelectPanelProps) {
52
54
  options={selectionOption}
53
55
  value={exportAll}
54
56
  onChange={setExportAll}
55
- placeholder="Choose what to export"
57
+ placeholder={t('store.chooseWhatToExport')}
56
58
  className="h-full w-full text-sm"
57
59
  filterBy="name"
58
60
  isClearable
@@ -63,13 +65,13 @@ function SelectPanel({ onClose }: SelectPanelProps) {
63
65
  options={Object.values(ExportTypes)}
64
66
  value={exportType}
65
67
  onChange={setExportType}
66
- placeholder="Choose a format"
68
+ placeholder={t('store.chooseAFormat')}
67
69
  className="h-full w-full text-sm"
68
70
  filterBy="name"
69
71
  isClearable
70
72
  />
71
73
 
72
- <Button className="w-full" isDisabled={!exportType || !exportAll} onClick={onSubmit}>Export Properties</Button>
74
+ <Button className="w-full" isDisabled={!exportType || !exportAll} onClick={onSubmit}>{t('store.actions.exportProperties')}</Button>
73
75
  </div>
74
76
  </ModalBody>
75
77
  )
@@ -77,12 +79,13 @@ function SelectPanel({ onClose }: SelectPanelProps) {
77
79
 
78
80
  interface WaitingPanelProps { }
79
81
  function WaitingPanel({ }: WaitingPanelProps) {
82
+ const { t } = useUITranslation();
80
83
  return (
81
84
  <ModalBody className="min-h-[84px] pt-0">
82
85
  <div className='h-full grid flex-col gap-y-2 content-between justify-items-center'>
83
86
  <div className="text-sm flex flex-col gap-x-2">
84
- <p>EXPORT IS IN PROGRESS</p>
85
- <p className="pt-2 grid justify-items-center">PLEASE WAIT</p>
87
+ <p>{t('store.exportInProgress')}</p>
88
+ <p className="pt-2 grid justify-items-center">{t('store.pleaseWait')}</p>
86
89
  </div>
87
90
  <Spinner size='lg' />
88
91
  </div>
@@ -2,6 +2,7 @@ import { LayoutGrid, TableProperties } from 'lucide-react'
2
2
  import { useState } from 'react'
3
3
 
4
4
  import { Button } from '@vertesia/ui/core'
5
+ import { useUITranslation } from '@vertesia/ui/i18n'
5
6
 
6
7
  const LAST_DISPLAYED_VIEW = 'vertesia.content_store.lastDisplayedView'
7
8
 
@@ -9,6 +10,7 @@ interface ContentDispositionButtonProps {
9
10
  onUpdate: (value: boolean) => void
10
11
  }
11
12
  export function ContentDispositionButton({ onUpdate }: Readonly<ContentDispositionButtonProps>) {
13
+ const { t } = useUITranslation()
12
14
  const [isGridView, setIsGridView] = useState(localStorage.getItem(LAST_DISPLAYED_VIEW) === "grid")
13
15
 
14
16
  const updateView = () => {
@@ -32,7 +34,7 @@ export function ContentDispositionButton({ onUpdate }: Readonly<ContentDispositi
32
34
  }
33
35
 
34
36
  return (
35
- <Button variant="outline" onClick={updateView} alt={isGridView ? "Table View" : "Thumbnail View"}>
37
+ <Button variant="outline" onClick={updateView} alt={isGridView ? t('misc.tableView') : t('misc.thumbnailView')}>
36
38
  {
37
39
  isGridView
38
40
  ? <TableProperties />
@@ -1,15 +1,18 @@
1
1
  import { memo, useEffect, useRef, useState, type RefObject } from "react";
2
2
 
3
- import { AUDIO_RENDITION_NAME, AudioMetadata, ContentNature, ContentObject, ContentObjectStatus, DocAnalyzerProgress, DocProcessorOutputFormat, DocumentMetadata, ImageRenditionFormat, MarkdownRenditionFormat, PDF_RENDITION_NAME, POSTER_RENDITION_NAME, VideoMetadata, WorkflowExecutionStatus } from "@vertesia/common";
3
+ import { AUDIO_RENDITION_NAME, AudioMetadata, ContentNature, ContentObject, ContentObjectStatus, DocAnalyzerProgress, DocProcessorOutputFormat, DocumentMetadata, ImageRenditionFormat, MarkdownRenditionFormat, PDF_RENDITION_NAME, Permission, POSTER_RENDITION_NAME, VideoMetadata, WorkflowExecutionStatus } from "@vertesia/common";
4
4
  import { Button, Portal, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useToast } from "@vertesia/ui/core";
5
5
  import { NavLink } from "@vertesia/ui/router";
6
6
  import { useUserSession } from "@vertesia/ui/session";
7
7
  import { JSONDisplay, MarkdownRenderer, Progress, XMLViewer } from "@vertesia/ui/widgets";
8
8
  import { AlertTriangle, Copy, Download, FileSearch, SquarePen } from "lucide-react";
9
+ import { useUITranslation } from '../../../../i18n/index.js';
9
10
  import { MagicPdfView } from "../../../magic-pdf";
10
11
  import { SimplePdfViewer } from "../../../pdf-viewer";
12
+ import { SecureButton } from "../../../permissions/SecureButton.js";
11
13
  import { getWorkflowStatusColor, getWorkflowStatusName, isPreviewableAsPdf } from "../../../utils/index.js";
12
14
  import { PropertiesEditorModal } from "./PropertiesEditorModal";
15
+ import { TextEditorPanel } from "./TextEditorPanel.js";
13
16
  import { useObjectText, useOfficePdfConversion, usePdfProcessingStatus } from "./useContentPanelHooks.js";
14
17
  import { useDownloadFile } from "./useDownloadFile.js";
15
18
 
@@ -30,18 +33,6 @@ const WEB_SUPPORTED_AUDIO_FORMATS = [
30
33
  'audio/webm', // WebM audio
31
34
  ];
32
35
 
33
- // Panel height constants for consistent layout
34
- const PANEL_HEIGHTS = {
35
- /** Main resizable panel group */
36
- main: "h-[calc(100vh-208px)]",
37
- /** Properties panel content area */
38
- properties: "h-[calc(100vh-228px)]",
39
- /** Text/PDF content panel */
40
- content: "h-[calc(100vh-218px)]",
41
- /** Video max height */
42
- video: "max-h-[calc(100vh-268px)]",
43
- } as const;
44
-
45
36
  // ----- Type Definitions -----
46
37
 
47
38
  interface TextActionsProps {
@@ -50,6 +41,9 @@ interface TextActionsProps {
50
41
  fullText: string | undefined;
51
42
  handleCopyContent: (content: string, type: "text" | "properties") => Promise<void>;
52
43
  textContainerRef: RefObject<HTMLDivElement | null>;
44
+ isEditing?: boolean;
45
+ onToggleEdit?: () => void;
46
+ canEdit?: boolean;
53
47
  }
54
48
 
55
49
  interface TextPanelProps {
@@ -163,7 +157,7 @@ function looksLikeMarkdown(text: string | undefined): boolean {
163
157
  * Returns empty string if visible, 'hidden' if not visible.
164
158
  */
165
159
  function getPanelVisibility(isVisible: boolean): string {
166
- return isVisible ? '' : 'hidden';
160
+ return isVisible ? 'h-full overflow-auto' : 'hidden';
167
161
  }
168
162
 
169
163
  enum PanelView {
@@ -186,6 +180,7 @@ export function ContentOverview({
186
180
  refetch,
187
181
  }: ContentOverviewProps) {
188
182
  const toast = useToast();
183
+ const { t } = useUITranslation();
189
184
 
190
185
  const handleCopyContent = async (
191
186
  content: string,
@@ -195,16 +190,16 @@ export function ContentOverview({
195
190
  await navigator.clipboard.writeText(content);
196
191
  toast({
197
192
  status: "success",
198
- title: `${type === "text" ? "Content" : "Properties"} copied`,
199
- description: `Successfully copied ${type} to clipboard`,
193
+ title: t('store.contentCopied', { type: type === "text" ? t('store.contentType') : t('store.properties') }),
194
+ description: t('store.successfullyCopied', { type }),
200
195
  duration: 2000,
201
196
  });
202
197
  } catch (err) {
203
198
  console.error(`Failed to copy ${type}:`, err);
204
199
  toast({
205
200
  status: "error",
206
- title: "Copy failed",
207
- description: `Failed to copy ${type} to clipboard`,
201
+ title: t('store.copyFailed'),
202
+ description: t('store.failedToCopy', { type }),
208
203
  duration: 5000,
209
204
  });
210
205
  }
@@ -212,7 +207,7 @@ export function ContentOverview({
212
207
 
213
208
  return (
214
209
  <>
215
- <ResizablePanelGroup direction="horizontal" className={PANEL_HEIGHTS.main}>
210
+ <ResizablePanelGroup direction="horizontal" className='h-full'>
216
211
  <ResizablePanel className="min-w-[100px]">
217
212
  <PropertiesPanel object={object} refetch={refetch ?? (() => Promise.resolve())} handleCopyContent={handleCopyContent} />
218
213
  </ResizablePanel>
@@ -228,6 +223,7 @@ export function ContentOverview({
228
223
  }
229
224
 
230
225
  function PropertiesPanel({ object, refetch, handleCopyContent }: { object: ContentObject, refetch: () => Promise<unknown>, handleCopyContent: (content: string, type: "text" | "properties") => Promise<void> }) {
226
+ const { t } = useUITranslation();
231
227
  const [viewCode, setViewCode] = useState(false);
232
228
  const [isPropertiesModalOpen, setPropertiesModalOpen] = useState(false);
233
229
 
@@ -246,7 +242,7 @@ function PropertiesPanel({ object, refetch, handleCopyContent }: { object: Conte
246
242
  <Button
247
243
  variant={`${viewCode ? "ghost" : "primary"}`}
248
244
  size="sm"
249
- alt="Preview properties"
245
+ alt={t('store.previewProperties')}
250
246
  onClick={() => setViewCode(!viewCode)}
251
247
  >
252
248
  Properties
@@ -254,7 +250,7 @@ function PropertiesPanel({ object, refetch, handleCopyContent }: { object: Conte
254
250
  <Button
255
251
  variant={`${viewCode ? "primary" : "ghost"}`}
256
252
  size="sm"
257
- alt="View in JSON format"
253
+ alt={t('store.viewInJsonFormat')}
258
254
  onClick={() => setViewCode(!viewCode)}
259
255
  >
260
256
  JSON
@@ -294,7 +290,7 @@ function PropertiesPanel({ object, refetch, handleCopyContent }: { object: Conte
294
290
 
295
291
  {
296
292
  object.properties ? (
297
- <div className={`${PANEL_HEIGHTS.properties} overflow-auto px-2`}>
293
+ <div className={`h-full px-2`}>
298
294
  <JSONDisplay
299
295
  value={object.properties}
300
296
  viewCode={viewCode}
@@ -302,8 +298,8 @@ function PropertiesPanel({ object, refetch, handleCopyContent }: { object: Conte
302
298
  />
303
299
  </div>
304
300
  ) : (
305
- <div className={`${PANEL_HEIGHTS.properties} overflow-auto px-2`}>
306
- <div>No properties defined</div>
301
+ <div className={`h-full px-2`}>
302
+ <div>{t('store.noPropertiesDefined')}</div>
307
303
  </div>
308
304
  )
309
305
  }
@@ -319,6 +315,7 @@ function PropertiesPanel({ object, refetch, handleCopyContent }: { object: Conte
319
315
  }
320
316
 
321
317
  function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: ContentObject, loadText: boolean, handleCopyContent: (content: string, type: "text" | "properties") => Promise<void>, refetch?: () => Promise<unknown> }) {
318
+ const { t } = useUITranslation();
322
319
  const isImage = object?.metadata?.type === ContentNature.Image;
323
320
  const isVideo = object?.metadata?.type === ContentNature.Video;
324
321
  const isAudio = object?.metadata?.type === ContentNature.Audio;
@@ -341,12 +338,24 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
341
338
 
342
339
  const [currentPanel, setCurrentPanel] = useState<PanelView>(getInitialView());
343
340
 
341
+ // Text editing state
342
+ const [isEditing, setIsEditing] = useState(false);
343
+ const canEdit = !!(
344
+ object.content?.source &&
345
+ object.content?.type &&
346
+ !isCreatedOrProcessing &&
347
+ !object.is_locked &&
348
+ object.user_permissions?.can_write !== false &&
349
+ (object.content.type.startsWith('text/') || object.content.type === 'application/json' || object.content.type === 'application/xml')
350
+ );
351
+
344
352
  // Use custom hooks for text loading, PDF processing, and Office conversion
345
353
  const {
346
354
  fullText,
347
355
  displayText,
348
356
  isLoading: isLoadingText,
349
357
  isCropped: isTextCropped,
358
+ loadText: reloadText,
350
359
  } = useObjectText(object.id, object.text, loadText);
351
360
 
352
361
  // Poll for PDF/document processing status when object is created or processing
@@ -387,7 +396,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
387
396
  <Button
388
397
  variant={currentPanel === PanelView.Image ? "primary" : "ghost"}
389
398
  size="sm"
390
- alt="View Image"
399
+ alt={t('store.viewImage')}
391
400
  onClick={() => setCurrentPanel(PanelView.Image)}
392
401
  >
393
402
  Image
@@ -397,7 +406,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
397
406
  <Button
398
407
  variant={currentPanel === PanelView.Video ? "primary" : "ghost"}
399
408
  size="sm"
400
- alt="View Video"
409
+ alt={t('store.viewVideo')}
401
410
  onClick={() => setCurrentPanel(PanelView.Video)}
402
411
  >
403
412
  Video
@@ -407,7 +416,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
407
416
  <Button
408
417
  variant={currentPanel === PanelView.Audio ? "primary" : "ghost"}
409
418
  size="sm"
410
- alt="View Audio"
419
+ alt={t('store.viewAudio')}
411
420
  onClick={() => setCurrentPanel(PanelView.Audio)}
412
421
  >
413
422
  Audio
@@ -417,7 +426,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
417
426
  <Button
418
427
  variant={currentPanel === PanelView.Transcript ? "primary" : "ghost"}
419
428
  size="sm"
420
- alt="View Transcript"
429
+ alt={t('store.viewTranscript')}
421
430
  onClick={() => setCurrentPanel(PanelView.Transcript)}
422
431
  >
423
432
  Transcript
@@ -426,7 +435,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
426
435
  <Button
427
436
  variant={currentPanel === PanelView.Text ? "primary" : "ghost"}
428
437
  size="sm"
429
- alt="View Text"
438
+ alt={t('store.viewText')}
430
439
  onClick={() => setCurrentPanel(PanelView.Text)}
431
440
  >
432
441
  Text
@@ -435,7 +444,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
435
444
  <Button
436
445
  variant={currentPanel === PanelView.Pdf ? "primary" : "ghost"}
437
446
  size="sm"
438
- alt="View PDF"
447
+ alt={t('store.viewPdf')}
439
448
  onClick={() => setCurrentPanel(PanelView.Pdf)}
440
449
  >
441
450
  PDF
@@ -445,7 +454,7 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
445
454
  <Button
446
455
  variant={currentPanel === PanelView.Pdf ? "primary" : "ghost"}
447
456
  size="sm"
448
- alt="View as PDF"
457
+ alt={t('store.viewAsPdf')}
449
458
  onClick={() => {
450
459
  setCurrentPanel(PanelView.Pdf);
451
460
  if (!pdfRendition && !officePdfUrl && !officePdfConverting) {
@@ -460,13 +469,16 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
460
469
  </div>
461
470
  <PdfActions object={object} />
462
471
  </div>
463
- {currentPanel === PanelView.Text && !showProcessingPanel && (
472
+ {currentPanel === PanelView.Text && !showProcessingPanel && !isEditing && (
464
473
  <TextActions
465
474
  object={object}
466
475
  text={displayText}
467
476
  fullText={fullText}
468
477
  handleCopyContent={handleCopyContent}
469
478
  textContainerRef={textContainerRef}
479
+ isEditing={isEditing}
480
+ onToggleEdit={() => setIsEditing(true)}
481
+ canEdit={canEdit}
470
482
  />
471
483
  )}
472
484
  {currentPanel === PanelView.Pdf && isPreviewableAsPdfDoc && (pdfRendition || officePdfUrl) && (
@@ -525,6 +537,18 @@ function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: C
525
537
  textContainerRef={textContainerRef}
526
538
  />
527
539
  </div>
540
+ {isEditing && currentPanel === PanelView.Text && fullText != null && (
541
+ <TextEditorPanel
542
+ object={object}
543
+ text={fullText}
544
+ onClose={() => setIsEditing(false)}
545
+ onSaved={() => {
546
+ setIsEditing(false);
547
+ reloadText();
548
+ refetch?.();
549
+ }}
550
+ />
551
+ )}
528
552
  </div>
529
553
  );
530
554
  }
@@ -534,9 +558,12 @@ function TextActions({
534
558
  text,
535
559
  fullText,
536
560
  handleCopyContent,
561
+ onToggleEdit,
562
+ canEdit,
537
563
  }: TextActionsProps) {
538
564
  const { client } = useUserSession();
539
565
  const toast = useToast();
566
+ const { t } = useUITranslation();
540
567
  const content = object.content;
541
568
  const { renderDocument, isDownloading } = useDownloadFile({ client, toast });
542
569
 
@@ -556,7 +583,7 @@ function TextActions({
556
583
  toast({
557
584
  status: "info",
558
585
  title: `Preparing ${format.toUpperCase()}`,
559
- description: "Rendering your document...",
586
+ description: t('store.renderingDocument'),
560
587
  duration: 2000,
561
588
  });
562
589
 
@@ -608,6 +635,18 @@ function TextActions({
608
635
  <Button variant="ghost" size="sm" title="Copy text" onClick={() => handleCopyContent(fullText, "text")}>
609
636
  <Copy className="size-4" />
610
637
  </Button>
638
+ {canEdit && onToggleEdit && (
639
+ <SecureButton
640
+ permission={Permission.content_write}
641
+ variant="ghost"
642
+ size="sm"
643
+ onClick={onToggleEdit}
644
+ title={t('store.editText')}
645
+ className="flex items-center gap-2"
646
+ >
647
+ <SquarePen className="size-4" />
648
+ </SecureButton>
649
+ )}
611
650
  <Button variant="ghost" size="sm" title="Download text" onClick={handleDownloadText}>
612
651
  <Download className="size-4" />
613
652
  </Button>
@@ -657,6 +696,7 @@ const TextPanel = memo(({
657
696
  isTextCropped,
658
697
  textContainerRef,
659
698
  }: TextPanelProps) => {
699
+ const { t } = useUITranslation();
660
700
  const content = object.content;
661
701
  const isCreatedOrProcessing = isCreatedOrProcessingStatus(object?.status);
662
702
 
@@ -680,12 +720,12 @@ const TextPanel = memo(({
680
720
  <div className="px-2 py-2 bg-attention/10 border-l-4 border-attention mx-2 mb-2 rounded">
681
721
  <div className="flex items-center gap-2 text-attention">
682
722
  <AlertTriangle className="size-4" />
683
- <span className="text-sm font-semibold">Showing first 128K characters only</span>
723
+ <span className="text-sm font-semibold">{t('store.showingFirst128K')}</span>
684
724
  </div>
685
725
  </div>
686
726
  )}
687
727
  <div
688
- className={`max-w-7xl px-2 ${PANEL_HEIGHTS.content} overflow-auto`}
728
+ className={`max-w-7xl px-2 h-full overflow-auto`}
689
729
  ref={textContainerRef}
690
730
  >
691
731
  {isXml ? (
@@ -771,6 +811,7 @@ function ImagePanel({ object }: { object: ContentObject }) {
771
811
  }
772
812
 
773
813
  function VideoPanel({ object }: { object: ContentObject }) {
814
+ const { t } = useUITranslation();
774
815
  const { client } = useUserSession();
775
816
  const [videoUrl, setVideoUrl] = useState<string>();
776
817
  const [posterUrl, setPosterUrl] = useState<string>();
@@ -842,12 +883,12 @@ function VideoPanel({ object }: { object: ContentObject }) {
842
883
  }, [isVideo, webRendition, isOriginalWebSupported, content?.source, client]);
843
884
 
844
885
  return (
845
- <div className="mb-4 px-2">
886
+ <div className="mb-4 px-2 w-full h-full">
846
887
  {!webRendition && !isOriginalWebSupported ? (
847
888
  <div className="flex justify-center items-center h-[400px] text-muted">
848
889
  <div className="text-center">
849
- <p>No web-compatible video rendition available</p>
850
- <p className="text-sm mt-2">MP4 or WebM format required</p>
890
+ <p>{t('store.noVideoRendition')}</p>
891
+ <p className="text-sm mt-2">{t('store.videoFormatRequired')}</p>
851
892
  </div>
852
893
  </div>
853
894
  ) : isLoading ? (
@@ -859,7 +900,7 @@ function VideoPanel({ object }: { object: ContentObject }) {
859
900
  src={videoUrl}
860
901
  poster={posterUrl}
861
902
  controls
862
- className={`w-full ${PANEL_HEIGHTS.video} object-contain`}
903
+ className={`w-full h-full object-contain`}
863
904
  >
864
905
  Your browser does not support the video tag.
865
906
  </video>
@@ -873,6 +914,7 @@ function VideoPanel({ object }: { object: ContentObject }) {
873
914
  }
874
915
 
875
916
  function AudioPanel({ object }: { object: ContentObject }) {
917
+ const { t } = useUITranslation();
876
918
  const { client } = useUserSession();
877
919
  const [audioUrl, setAudioUrl] = useState<string>();
878
920
  const [isLoading, setIsLoading] = useState<boolean>(true);
@@ -928,8 +970,8 @@ function AudioPanel({ object }: { object: ContentObject }) {
928
970
  {!audioRendition && !isOriginalWebSupported ? (
929
971
  <div className="flex justify-center items-center h-[200px] text-muted">
930
972
  <div className="text-center">
931
- <p>No web-compatible audio rendition available</p>
932
- <p className="text-sm mt-2">MP3, M4A, OGG, WAV, or WebM format required</p>
973
+ <p>{t('store.noAudioRendition')}</p>
974
+ <p className="text-sm mt-2">{t('store.audioFormatRequired')}</p>
933
975
  </div>
934
976
  </div>
935
977
  ) : isLoading ? (
@@ -972,6 +1014,7 @@ function formatDuration(seconds: number): string {
972
1014
  }
973
1015
 
974
1016
  function TranscriptPanel({ object, handleCopyContent }: { object: ContentObject, handleCopyContent: (content: string, type: "text" | "properties") => Promise<void> }) {
1017
+ const { t } = useUITranslation();
975
1018
  const transcript = object.transcript;
976
1019
  const transcriptText = transcript?.text;
977
1020
  const segments = transcript?.segments;
@@ -1004,7 +1047,7 @@ function TranscriptPanel({ object, handleCopyContent }: { object: ContentObject,
1004
1047
  </Button>
1005
1048
  )}
1006
1049
  </div>
1007
- <div className={`${PANEL_HEIGHTS.content} overflow-auto px-2`}>
1050
+ <div className={`h-full} overflow-auto px-2`}>
1008
1051
  {segments && segments.length > 0 ? (
1009
1052
  <div className="space-y-2">
1010
1053
  {segments.map((segment, idx) => (
@@ -1022,7 +1065,7 @@ function TranscriptPanel({ object, handleCopyContent }: { object: ContentObject,
1022
1065
  {transcriptText}
1023
1066
  </pre>
1024
1067
  ) : (
1025
- <div className="text-muted">No transcript available</div>
1068
+ <div className="text-muted">{t('store.noTranscriptAvailable')}</div>
1026
1069
  )}
1027
1070
  </div>
1028
1071
  </div>
@@ -1064,6 +1107,7 @@ function OfficePdfActions({
1064
1107
  }: OfficePdfActionsProps) {
1065
1108
  const { client } = useUserSession();
1066
1109
  const toast = useToast();
1110
+ const { t } = useUITranslation();
1067
1111
  const [isDownloading, setIsDownloading] = useState(false);
1068
1112
 
1069
1113
  const handleDownloadPdf = async () => {
@@ -1089,8 +1133,8 @@ function OfficePdfActions({
1089
1133
  console.error('Failed to download PDF:', err);
1090
1134
  toast({
1091
1135
  status: 'error',
1092
- title: 'Download failed',
1093
- description: 'Failed to download the PDF file',
1136
+ title: t('store.downloadFailed'),
1137
+ description: t('store.failedToDownloadPdf'),
1094
1138
  duration: 5000,
1095
1139
  });
1096
1140
  } finally {
@@ -1115,7 +1159,7 @@ function OfficePdfActions({
1115
1159
 
1116
1160
  function PdfPreviewPanel({ object }: { object: ContentObject }) {
1117
1161
  return (
1118
- <div className={PANEL_HEIGHTS.content}>
1162
+ <div className='h-full'>
1119
1163
  <SimplePdfViewer
1120
1164
  object={object}
1121
1165
  className="h-full"
@@ -1135,11 +1179,12 @@ function OfficePdfPreviewPanel({
1135
1179
  officePdfError,
1136
1180
  onConvert,
1137
1181
  }: OfficePdfPreviewPanelProps) {
1182
+ const { t } = useUITranslation();
1138
1183
  if (officePdfConverting) {
1139
1184
  return (
1140
1185
  <div className="flex flex-col justify-center items-center flex-1 gap-2">
1141
1186
  <Spinner size="lg" />
1142
- <span className="text-muted">Converting to PDF...</span>
1187
+ <span className="text-muted">{t('store.convertingToPdf')}</span>
1143
1188
  </div>
1144
1189
  );
1145
1190
  }
@@ -1155,7 +1200,7 @@ function OfficePdfPreviewPanel({
1155
1200
 
1156
1201
  if (pdfRendition?.content?.source) {
1157
1202
  return (
1158
- <div className={PANEL_HEIGHTS.content}>
1203
+ <div className='h-full'>
1159
1204
  <SimplePdfViewer source={pdfRendition.content.source} className="h-full" />
1160
1205
  </div>
1161
1206
  );
@@ -1163,7 +1208,7 @@ function OfficePdfPreviewPanel({
1163
1208
 
1164
1209
  if (officePdfUrl) {
1165
1210
  return (
1166
- <div className={PANEL_HEIGHTS.content}>
1211
+ <div className='h-full'>
1167
1212
  <SimplePdfViewer url={officePdfUrl} className="h-full" />
1168
1213
  </div>
1169
1214
  );
@@ -1179,6 +1224,7 @@ function OfficePdfPreviewPanel({
1179
1224
  }
1180
1225
 
1181
1226
  function PdfProcessingPanel({ progress, status, outputFormat }: { progress?: DocAnalyzerProgress, status?: WorkflowExecutionStatus, outputFormat?: DocProcessorOutputFormat }) {
1227
+ const { t } = useUITranslation();
1182
1228
  const statusColor = getWorkflowStatusColor(status);
1183
1229
  const statusName = getWorkflowStatusName(status);
1184
1230
 
@@ -1219,7 +1265,7 @@ function PdfProcessingPanel({ progress, status, outputFormat }: { progress?: Doc
1219
1265
  {!progress && (
1220
1266
  <div className="flex items-center gap-2 text-muted">
1221
1267
  <Spinner size="sm" />
1222
- <span>Loading processing status...</span>
1268
+ <span>{t('store.loadingProcessingStatus')}</span>
1223
1269
  </div>
1224
1270
  )}
1225
1271
  </div>
@@ -6,13 +6,14 @@ import { ContentObjectItem } from '@vertesia/common'
6
6
  import { Button, Card, CardContent, Separator, VTooltip } from "@vertesia/ui/core"
7
7
  import { useUserSession } from "@vertesia/ui/session"
8
8
  import { DocumentSelection } from '../DocumentSelectionProvider'
9
- import { Eye } from 'lucide-react'
9
+ import { CheckIcon, Eye } from 'lucide-react'
10
10
 
11
11
  interface DocumentIconProps {
12
12
  document: ContentObjectItem
13
13
  onSelectionChange: ((object: ContentObjectItem, ev: ChangeEvent<HTMLInputElement>) => void);
14
14
  selection: DocumentSelection;
15
15
  onRowClick?: (object: ContentObjectItem) => void;
16
+ highlightRow?: (item: ContentObjectItem) => boolean;
16
17
  previewObject?: (objectId: string) => void;
17
18
  selectedObject?: ContentObjectItem | null;
18
19
  }
@@ -46,7 +47,7 @@ export function DocumentIconSkeleton({ isLoading = false, counts = 6 }: { isLoad
46
47
  )
47
48
  }
48
49
 
49
- export function DocumentIcon({ selection, document, onSelectionChange, onRowClick, previewObject, selectedObject }: Readonly<DocumentIconProps>) {
50
+ export function DocumentIcon({ selection, document, onSelectionChange, onRowClick, highlightRow, previewObject, selectedObject }: Readonly<DocumentIconProps>) {
50
51
  const { client } = useUserSession()
51
52
 
52
53
  const [renditionUrl, setRenditionUrl] = useState<string | undefined>(undefined)
@@ -67,8 +68,15 @@ export function DocumentIcon({ selection, document, onSelectionChange, onRowClic
67
68
  retrieveRendition(client, document, setRenditionUrl, setRenditionAlt, setRenditionStatus)
68
69
  }, [document])
69
70
 
71
+ const isHighlighted = highlightRow?.(document);
72
+
70
73
  return (
71
- <Card className={`relative flex flex-col border h-fit w-full ${selectedObject?.id === document.id ? 'border-attention border-4' : ''}`} onClick={() => (onRowClick && onRowClick(document))}>
74
+ <Card className={`relative flex flex-col border h-fit w-full ${selectedObject?.id === document.id ? 'border-attention border-4' : ''} ${isHighlighted ? 'border-blue-400 dark:border-blue-500 bg-blue-50/50 dark:bg-blue-900/20' : ''}`} onClick={() => (onRowClick && onRowClick(document))}>
75
+ {isHighlighted && (
76
+ <div className="absolute top-2 right-8 z-10">
77
+ <CheckIcon className="size-4 text-blue-600 dark:text-blue-400" />
78
+ </div>
79
+ )}
72
80
  {
73
81
  selection && (
74
82
  <div