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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (783) 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 +61 -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/env/index.js +11 -1
  49. package/lib/esm/env/index.js.map +1 -1
  50. package/lib/esm/features/agent/PayloadBuilder.js +87 -15
  51. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  52. package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
  53. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
  54. package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
  55. package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
  56. package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
  57. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  58. package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
  59. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  60. package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
  61. package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
  62. package/lib/esm/features/agent/chat/ModernAgentConversation.js +243 -106
  63. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  64. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
  65. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +57 -18
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  72. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
  73. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  74. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
  75. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  76. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
  77. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  78. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
  79. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  80. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
  81. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  82. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
  83. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  84. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
  85. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  86. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
  87. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  88. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
  89. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  90. package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
  91. package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
  92. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
  93. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
  94. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +75 -16
  95. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  96. package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
  97. package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
  98. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
  99. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  100. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
  101. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
  102. package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
  103. package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
  104. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
  105. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  106. package/lib/esm/features/facets/RunsFacetsNav.js +1 -1
  107. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  108. package/lib/esm/features/facets/index.js +1 -1
  109. package/lib/esm/features/facets/index.js.map +1 -1
  110. package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
  111. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  112. package/lib/esm/features/layout/NotFoundView.js +3 -1
  113. package/lib/esm/features/layout/NotFoundView.js.map +1 -1
  114. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
  115. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  116. package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
  117. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
  118. package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
  119. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
  120. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
  121. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  122. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
  123. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  124. package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
  125. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
  126. package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
  127. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  128. package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
  129. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  130. package/lib/esm/features/store/collections/CreateCollection.js +21 -18
  131. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  132. package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
  133. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  134. package/lib/esm/features/store/collections/SelectCollection.js +25 -10
  135. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  136. package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
  137. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
  138. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
  139. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
  140. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
  141. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  142. package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
  143. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  144. package/lib/esm/features/store/objects/DocumentTable.js +10 -7
  145. package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
  146. package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
  147. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  148. package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
  149. package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  150. package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
  151. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  152. package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
  153. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  154. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
  155. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  156. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
  157. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  158. package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
  159. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  160. package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
  161. package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
  162. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
  163. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  164. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
  165. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  166. package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
  167. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
  168. package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
  169. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  170. package/lib/esm/features/store/objects/layout/renderers.js +10 -1
  171. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  172. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
  173. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  174. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
  175. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
  176. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
  177. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  178. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
  179. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
  180. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
  181. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
  182. package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
  183. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  184. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
  185. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  186. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
  187. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  188. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
  189. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
  190. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
  191. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  192. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
  193. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  194. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
  195. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
  196. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
  197. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  198. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
  199. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  200. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
  201. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  202. package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
  203. package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
  204. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
  205. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
  206. package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
  207. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
  208. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
  209. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  210. package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
  211. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  212. package/lib/esm/features/store/types/SelectContentType.js +9 -7
  213. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  214. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
  215. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  216. package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
  217. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  218. package/lib/esm/features/user/UserInfo.js +40 -50
  219. package/lib/esm/features/user/UserInfo.js.map +1 -1
  220. package/lib/esm/i18n/index.js +31 -0
  221. package/lib/esm/i18n/index.js.map +1 -0
  222. package/lib/esm/i18n/instance.js +46 -0
  223. package/lib/esm/i18n/instance.js.map +1 -0
  224. package/lib/esm/i18n/locales/ar.json +694 -0
  225. package/lib/esm/i18n/locales/de.json +662 -0
  226. package/lib/esm/i18n/locales/en.json +663 -0
  227. package/lib/esm/i18n/locales/es.json +668 -0
  228. package/lib/esm/i18n/locales/fr.json +670 -0
  229. package/lib/esm/i18n/locales/it.json +668 -0
  230. package/lib/esm/i18n/locales/ja.json +662 -0
  231. package/lib/esm/i18n/locales/ko.json +662 -0
  232. package/lib/esm/i18n/locales/pt.json +668 -0
  233. package/lib/esm/i18n/locales/ru.json +678 -0
  234. package/lib/esm/i18n/locales/tr.json +662 -0
  235. package/lib/esm/i18n/locales/zh-TW.json +662 -0
  236. package/lib/esm/i18n/locales/zh.json +662 -0
  237. package/lib/esm/layout/FullHeightLayout.js +3 -0
  238. package/lib/esm/layout/FullHeightLayout.js.map +1 -1
  239. package/lib/esm/layout/Navbar.js +3 -1
  240. package/lib/esm/layout/Navbar.js.map +1 -1
  241. package/lib/esm/layout/RegionTag.js +15 -0
  242. package/lib/esm/layout/RegionTag.js.map +1 -0
  243. package/lib/esm/layout/Sidebar.js +2 -2
  244. package/lib/esm/layout/Sidebar.js.map +1 -1
  245. package/lib/esm/layout/index.js +1 -0
  246. package/lib/esm/layout/index.js.map +1 -1
  247. package/lib/esm/router/HistoryNavigator.js +1 -1
  248. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  249. package/lib/esm/router/Nav.js +5 -3
  250. package/lib/esm/router/Nav.js.map +1 -1
  251. package/lib/esm/router/NestedNavigationContext.js +4 -0
  252. package/lib/esm/router/NestedNavigationContext.js.map +1 -1
  253. package/lib/esm/router/NestedRouterProvider.js +3 -1
  254. package/lib/esm/router/NestedRouterProvider.js.map +1 -1
  255. package/lib/esm/router/Router.js +21 -6
  256. package/lib/esm/router/Router.js.map +1 -1
  257. package/lib/esm/session/UserSession.js +31 -0
  258. package/lib/esm/session/UserSession.js.map +1 -1
  259. package/lib/esm/session/UserSessionProvider.js +4 -0
  260. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  261. package/lib/esm/session/auth/composable.js +1 -1
  262. package/lib/esm/session/auth/composable.js.map +1 -1
  263. package/lib/esm/session/auth/firebase.js +1 -1
  264. package/lib/esm/session/auth/firebase.js.map +1 -1
  265. package/lib/esm/session/auth/useCurrentTenant.js +3 -1
  266. package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
  267. package/lib/esm/shell/SplashScreen.js +3 -7
  268. package/lib/esm/shell/SplashScreen.js.map +1 -1
  269. package/lib/esm/shell/apps/StandaloneApp.js +5 -2
  270. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  271. package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
  272. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
  273. package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
  274. package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
  275. package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
  276. package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
  277. package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
  278. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  279. package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
  280. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
  281. package/lib/esm/shell/login/SigninScreen.js +6 -2
  282. package/lib/esm/shell/login/SigninScreen.js.map +1 -1
  283. package/lib/esm/shell/login/SignupForm.js +36 -34
  284. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  285. package/lib/esm/shell/login/TerminalLogin.js +29 -22
  286. package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
  287. package/lib/esm/shell/login/UserInfo.js +6 -4
  288. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  289. package/lib/esm/shell/login/UserSessionMenu.js +3 -4
  290. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
  291. package/lib/esm/widgets/index.js +0 -1
  292. package/lib/esm/widgets/index.js.map +1 -1
  293. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  294. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  295. package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
  296. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  297. package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
  298. package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
  299. package/lib/esm/widgets/json-view/JSONView.js +1 -1
  300. package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
  301. package/lib/esm/widgets/json-view/index.js +1 -0
  302. package/lib/esm/widgets/json-view/index.js.map +1 -1
  303. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
  304. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  305. package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
  306. package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
  307. package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
  308. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  309. package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
  310. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  311. package/lib/esm/widgets/markdown/index.js +10 -9
  312. package/lib/esm/widgets/markdown/index.js.map +1 -1
  313. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
  314. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  315. package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
  316. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  317. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
  318. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  319. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
  320. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  321. package/lib/esm/widgets/upload/DropZone.js +9 -11
  322. package/lib/esm/widgets/upload/DropZone.js.map +1 -1
  323. package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
  324. package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
  325. package/lib/esm/widgets/upload/UploadSummary.js +3 -1
  326. package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
  327. package/lib/tsconfig.tsbuildinfo +1 -1
  328. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  329. package/lib/types/core/components/SidePanel.d.ts +4 -2
  330. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  331. package/lib/types/core/components/index.d.ts +0 -5
  332. package/lib/types/core/components/index.d.ts.map +1 -1
  333. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  334. package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
  335. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
  336. package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
  337. package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
  338. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
  339. package/lib/types/core/components/shadcn/dropdown.d.ts +44 -0
  340. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
  341. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
  342. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
  343. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
  344. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  345. package/lib/types/core/components/shadcn/index.d.ts +4 -0
  346. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  347. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  348. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
  349. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
  350. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
  351. package/lib/types/core/components/shadcn/popover.d.ts +11 -3
  352. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  353. package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
  354. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
  355. package/lib/types/core/components/shadcn/switch.d.ts +12 -0
  356. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
  357. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  358. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  359. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +8 -2
  360. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
  361. package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
  362. package/lib/types/env/index.d.ts +8 -1
  363. package/lib/types/env/index.d.ts.map +1 -1
  364. package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
  365. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  366. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
  367. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
  368. package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
  369. package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
  370. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  371. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  372. package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  373. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
  374. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  375. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  376. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  377. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  378. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +12 -3
  379. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  380. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
  381. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  382. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  383. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  384. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  385. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
  386. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
  387. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  388. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
  389. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  390. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  391. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
  392. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  393. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  394. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  395. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
  396. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +3 -3
  397. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  398. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
  399. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
  400. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  401. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
  402. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
  403. package/lib/types/features/agent/chat/types/document.d.ts +2 -0
  404. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
  405. package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
  406. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
  407. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
  408. package/lib/types/features/facets/index.d.ts +1 -1
  409. package/lib/types/features/facets/index.d.ts.map +1 -1
  410. package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
  411. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  412. package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
  413. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
  414. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  415. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  416. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
  417. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  418. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  419. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  420. package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
  421. package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
  422. package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
  423. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  424. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  425. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
  426. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
  427. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  428. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  429. package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
  430. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  431. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  432. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  433. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
  434. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  435. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  436. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
  437. package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
  438. package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
  439. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
  440. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
  441. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  442. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  443. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  444. package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
  445. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  446. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  447. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  448. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
  449. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
  450. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  451. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
  452. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
  453. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
  454. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
  455. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
  456. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  457. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
  458. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  459. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
  460. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  461. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
  462. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
  463. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
  464. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  465. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
  466. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
  467. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  468. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  469. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
  470. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
  471. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  472. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
  473. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
  474. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  475. package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
  476. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  477. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  478. package/lib/types/features/user/UserInfo.d.ts +2 -2
  479. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  480. package/lib/types/i18n/index.d.ts +14 -0
  481. package/lib/types/i18n/index.d.ts.map +1 -0
  482. package/lib/types/i18n/instance.d.ts +5 -0
  483. package/lib/types/i18n/instance.d.ts.map +1 -0
  484. package/lib/types/layout/FullHeightLayout.d.ts +3 -0
  485. package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
  486. package/lib/types/layout/Navbar.d.ts.map +1 -1
  487. package/lib/types/layout/RegionTag.d.ts +4 -0
  488. package/lib/types/layout/RegionTag.d.ts.map +1 -0
  489. package/lib/types/layout/Sidebar.d.ts +2 -1
  490. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  491. package/lib/types/layout/index.d.ts +1 -0
  492. package/lib/types/layout/index.d.ts.map +1 -1
  493. package/lib/types/router/Nav.d.ts +5 -1
  494. package/lib/types/router/Nav.d.ts.map +1 -1
  495. package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
  496. package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
  497. package/lib/types/router/Router.d.ts +2 -0
  498. package/lib/types/router/Router.d.ts.map +1 -1
  499. package/lib/types/session/UserSession.d.ts +1 -0
  500. package/lib/types/session/UserSession.d.ts.map +1 -1
  501. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  502. package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
  503. package/lib/types/shell/SplashScreen.d.ts.map +1 -1
  504. package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
  505. package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
  506. package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
  507. package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
  508. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  509. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
  510. package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
  511. package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
  512. package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
  513. package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -1
  514. package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
  515. package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
  516. package/lib/types/widgets/index.d.ts +0 -1
  517. package/lib/types/widgets/index.d.ts.map +1 -1
  518. package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
  519. package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
  520. package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
  521. package/lib/types/widgets/json-view/index.d.ts +1 -0
  522. package/lib/types/widgets/json-view/index.d.ts.map +1 -1
  523. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  524. package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
  525. package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
  526. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  527. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
  528. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  529. package/lib/types/widgets/markdown/index.d.ts +10 -9
  530. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  531. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  532. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  533. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
  534. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  535. package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
  536. package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  537. package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -1
  538. package/lib/vertesia-ui-core.js +1 -1
  539. package/lib/vertesia-ui-core.js.map +1 -1
  540. package/lib/vertesia-ui-env.js +1 -1
  541. package/lib/vertesia-ui-env.js.map +1 -1
  542. package/lib/vertesia-ui-features.js +1 -1
  543. package/lib/vertesia-ui-features.js.map +1 -1
  544. package/lib/vertesia-ui-i18n.js +2 -0
  545. package/lib/vertesia-ui-i18n.js.map +1 -0
  546. package/lib/vertesia-ui-layout.js +1 -1
  547. package/lib/vertesia-ui-layout.js.map +1 -1
  548. package/lib/vertesia-ui-router.js +1 -1
  549. package/lib/vertesia-ui-router.js.map +1 -1
  550. package/lib/vertesia-ui-session.js +1 -1
  551. package/lib/vertesia-ui-session.js.map +1 -1
  552. package/lib/vertesia-ui-shell.js +1 -1
  553. package/lib/vertesia-ui-shell.js.map +1 -1
  554. package/lib/vertesia-ui-widgets.js +1 -1
  555. package/lib/vertesia-ui-widgets.js.map +1 -1
  556. package/llms.txt +124 -4
  557. package/package.json +50 -22
  558. package/src/core/components/SelectList.tsx +3 -1
  559. package/src/core/components/SidePanel.tsx +5 -4
  560. package/src/core/components/index.ts +0 -5
  561. package/src/core/components/shadcn/breadcrumb.tsx +16 -9
  562. package/src/core/components/shadcn/button.tsx +5 -3
  563. package/src/core/components/shadcn/collaspible.tsx +33 -0
  564. package/src/core/components/shadcn/dropdown.tsx +309 -0
  565. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
  566. package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
  567. package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
  568. package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
  569. package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
  570. package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
  571. package/src/core/components/shadcn/index.ts +5 -1
  572. package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
  573. package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
  574. package/src/core/components/shadcn/popover.tsx +12 -7
  575. package/src/core/components/shadcn/radioGroup.tsx +100 -0
  576. package/src/core/components/shadcn/selectBox.tsx +1 -1
  577. package/src/core/components/shadcn/switch.tsx +60 -0
  578. package/src/core/components/shadcn/tabs.tsx +29 -27
  579. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +19 -10
  580. package/src/core/components/shadcn/tooltip.tsx +1 -1
  581. package/src/core/components/toast/NotificationPanel.tsx +38 -44
  582. package/src/css/base.css +31 -0
  583. package/src/css/color.css +136 -0
  584. package/src/css/custom-tooltips.css +64 -0
  585. package/src/css/index.css +27 -0
  586. package/src/css/theme.css +86 -0
  587. package/src/css/typography.css +88 -0
  588. package/src/css/utilities.css +72 -0
  589. package/src/env/index.ts +16 -3
  590. package/src/features/agent/PayloadBuilder.tsx +100 -13
  591. package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
  592. package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
  593. package/src/features/agent/chat/AskUserWidget.tsx +14 -8
  594. package/src/features/agent/chat/DocumentPanel.tsx +24 -9
  595. package/src/features/agent/chat/ImageLightbox.tsx +6 -3
  596. package/src/features/agent/chat/ModernAgentConversation.tsx +539 -356
  597. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
  598. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
  599. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +126 -46
  600. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
  601. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
  602. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
  603. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
  604. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
  605. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
  606. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
  607. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
  608. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
  609. package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
  610. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
  611. package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
  612. package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
  613. package/src/features/agent/chat/hooks/useAgentStream.ts +80 -19
  614. package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
  615. package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
  616. package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
  617. package/src/features/agent/chat/types/document.ts +2 -0
  618. package/src/features/errors/PanelErrorBoundary.tsx +5 -3
  619. package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
  620. package/src/features/facets/RunsFacetsNav.tsx +6 -6
  621. package/src/features/facets/index.ts +1 -1
  622. package/src/features/layout/GenericPageNavHeader.tsx +64 -41
  623. package/src/features/layout/NotFoundView.tsx +4 -1
  624. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
  625. package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
  626. package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
  627. package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
  628. package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
  629. package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
  630. package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
  631. package/src/features/store/collections/CollectionsTable.tsx +20 -12
  632. package/src/features/store/collections/CreateCollection.tsx +45 -40
  633. package/src/features/store/collections/EditCollectionView.tsx +31 -28
  634. package/src/features/store/collections/SelectCollection.tsx +50 -14
  635. package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
  636. package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
  637. package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
  638. package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
  639. package/src/features/store/objects/DocumentTable.tsx +11 -5
  640. package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
  641. package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
  642. package/src/features/store/objects/components/ContentOverview.tsx +96 -50
  643. package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
  644. package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
  645. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
  646. package/src/features/store/objects/components/SelectDocument.tsx +15 -6
  647. package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
  648. package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
  649. package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
  650. package/src/features/store/objects/components/useDownloadFile.ts +12 -10
  651. package/src/features/store/objects/layout/documentLayout.tsx +16 -6
  652. package/src/features/store/objects/layout/renderers.tsx +27 -1
  653. package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
  654. package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
  655. package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
  656. package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
  657. package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
  658. package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
  659. package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
  660. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
  661. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
  662. package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
  663. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
  664. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
  665. package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
  666. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
  667. package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
  668. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
  669. package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
  670. package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
  671. package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
  672. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
  673. package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
  674. package/src/features/store/types/SelectContentType.tsx +15 -13
  675. package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
  676. package/src/features/store/types/TableLayoutEditor.tsx +16 -12
  677. package/src/features/user/UserInfo.tsx +47 -56
  678. package/src/i18n/index.tsx +45 -0
  679. package/src/i18n/instance.ts +49 -0
  680. package/src/i18n/locales/ar.json +694 -0
  681. package/src/i18n/locales/de.json +662 -0
  682. package/src/i18n/locales/en.json +663 -0
  683. package/src/i18n/locales/es.json +668 -0
  684. package/src/i18n/locales/fr.json +670 -0
  685. package/src/i18n/locales/it.json +668 -0
  686. package/src/i18n/locales/ja.json +662 -0
  687. package/src/i18n/locales/ko.json +662 -0
  688. package/src/i18n/locales/pt.json +668 -0
  689. package/src/i18n/locales/ru.json +678 -0
  690. package/src/i18n/locales/tr.json +662 -0
  691. package/src/i18n/locales/zh-TW.json +662 -0
  692. package/src/i18n/locales/zh.json +662 -0
  693. package/src/layout/FullHeightLayout.tsx +8 -0
  694. package/src/layout/Navbar.tsx +4 -2
  695. package/src/layout/RegionTag.tsx +25 -0
  696. package/src/layout/Sidebar.tsx +4 -3
  697. package/src/layout/index.ts +2 -1
  698. package/src/router/HistoryNavigator.ts +10 -10
  699. package/src/router/Nav.tsx +9 -3
  700. package/src/router/NestedNavigationContext.tsx +4 -0
  701. package/src/router/NestedRouterProvider.tsx +3 -1
  702. package/src/router/Router.tsx +23 -7
  703. package/src/session/UserSession.ts +32 -0
  704. package/src/session/UserSessionProvider.tsx +4 -0
  705. package/src/session/auth/composable.ts +1 -1
  706. package/src/session/auth/firebase.ts +1 -1
  707. package/src/session/auth/useCurrentTenant.ts +3 -1
  708. package/src/shell/SplashScreen.tsx +22 -26
  709. package/src/shell/apps/StandaloneApp.tsx +9 -6
  710. package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
  711. package/src/shell/login/GitHubSignInButton.tsx +3 -7
  712. package/src/shell/login/GoogleSignInButton.tsx +3 -1
  713. package/src/shell/login/InviteAcceptModal.tsx +5 -2
  714. package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
  715. package/src/shell/login/SigninScreen.tsx +18 -13
  716. package/src/shell/login/SignupForm.tsx +46 -46
  717. package/src/shell/login/TerminalLogin.tsx +36 -33
  718. package/src/shell/login/UserInfo.tsx +15 -13
  719. package/src/shell/login/UserSessionMenu.tsx +28 -31
  720. package/src/widgets/index.ts +0 -1
  721. package/src/widgets/json-view/JSONCode.tsx +1 -1
  722. package/src/widgets/json-view/JSONDisplay.tsx +8 -3
  723. package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
  724. package/src/widgets/json-view/JSONView.tsx +1 -1
  725. package/src/widgets/json-view/index.ts +1 -0
  726. package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
  727. package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
  728. package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
  729. package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
  730. package/src/widgets/markdown/index.ts +27 -34
  731. package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
  732. package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
  733. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
  734. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
  735. package/src/widgets/upload/DropZone.tsx +10 -13
  736. package/src/widgets/upload/UploadResultCategory.tsx +3 -1
  737. package/src/widgets/upload/UploadSummary.tsx +13 -11
  738. package/tsconfig.dist.json +1 -1
  739. package/lib/esm/core/components/Dropdown.js +0 -16
  740. package/lib/esm/core/components/Dropdown.js.map +0 -1
  741. package/lib/esm/core/components/DropdownList.js +0 -9
  742. package/lib/esm/core/components/DropdownList.js.map +0 -1
  743. package/lib/esm/core/components/RadioGroup.js +0 -34
  744. package/lib/esm/core/components/RadioGroup.js.map +0 -1
  745. package/lib/esm/core/components/SelectStack.js +0 -8
  746. package/lib/esm/core/components/SelectStack.js.map +0 -1
  747. package/lib/esm/core/components/Switch.js +0 -12
  748. package/lib/esm/core/components/Switch.js.map +0 -1
  749. package/lib/esm/widgets/popover/Popover.js +0 -73
  750. package/lib/esm/widgets/popover/Popover.js.map +0 -1
  751. package/lib/esm/widgets/popover/context.js +0 -7
  752. package/lib/esm/widgets/popover/context.js.map +0 -1
  753. package/lib/esm/widgets/popover/index.js +0 -3
  754. package/lib/esm/widgets/popover/index.js.map +0 -1
  755. package/lib/esm/widgets/popover/slots.js +0 -22
  756. package/lib/esm/widgets/popover/slots.js.map +0 -1
  757. package/lib/types/core/components/Dropdown.d.ts +0 -15
  758. package/lib/types/core/components/Dropdown.d.ts.map +0 -1
  759. package/lib/types/core/components/DropdownList.d.ts +0 -13
  760. package/lib/types/core/components/DropdownList.d.ts.map +0 -1
  761. package/lib/types/core/components/RadioGroup.d.ts +0 -26
  762. package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
  763. package/lib/types/core/components/SelectStack.d.ts +0 -13
  764. package/lib/types/core/components/SelectStack.d.ts.map +0 -1
  765. package/lib/types/core/components/Switch.d.ts +0 -11
  766. package/lib/types/core/components/Switch.d.ts.map +0 -1
  767. package/lib/types/widgets/popover/Popover.d.ts +0 -38
  768. package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
  769. package/lib/types/widgets/popover/context.d.ts +0 -8
  770. package/lib/types/widgets/popover/context.d.ts.map +0 -1
  771. package/lib/types/widgets/popover/index.d.ts +0 -3
  772. package/lib/types/widgets/popover/index.d.ts.map +0 -1
  773. package/lib/types/widgets/popover/slots.d.ts +0 -5
  774. package/lib/types/widgets/popover/slots.d.ts.map +0 -1
  775. package/src/core/components/Dropdown.tsx +0 -63
  776. package/src/core/components/DropdownList.tsx +0 -72
  777. package/src/core/components/RadioGroup.tsx +0 -100
  778. package/src/core/components/SelectStack.tsx +0 -63
  779. package/src/core/components/Switch.tsx +0 -30
  780. package/src/widgets/popover/Popover.tsx +0 -171
  781. package/src/widgets/popover/context.ts +0 -15
  782. package/src/widgets/popover/index.ts +0 -2
  783. package/src/widgets/popover/slots.ts +0 -24
@@ -1,5 +1,6 @@
1
1
  import { useUserSession } from '@vertesia/ui/session';
2
2
  import { useState, useRef, useEffect } from 'react';
3
+ import { useUITranslation } from '../../../../i18n/index.js';
3
4
  import {
4
5
  Button,
5
6
  Modal,
@@ -28,6 +29,7 @@ export interface PropertiesEditorModalProps {
28
29
  export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: PropertiesEditorModalProps) {
29
30
  const { client, store } = useUserSession();
30
31
  const toast = useToast();
32
+ const { t } = useUITranslation();
31
33
  const { theme } = useTheme();
32
34
  const navigate = useNavigate();
33
35
  const [isLoading, setIsLoading] = useState(false);
@@ -92,8 +94,8 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
92
94
  } catch (err) {
93
95
  toast({
94
96
  status: 'error',
95
- title: 'Invalid JSON',
96
- description: 'Please fix the JSON syntax errors before saving.',
97
+ title: t('store.invalidJson'),
98
+ description: t('store.pleaseFixJsonSyntax'),
97
99
  duration: 5000
98
100
  });
99
101
  }
@@ -127,8 +129,8 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
127
129
 
128
130
  toast({
129
131
  status: 'success',
130
- title: 'New version created',
131
- description: 'A new version with updated properties has been created.',
132
+ title: t('store.newVersionCreated'),
133
+ description: t('store.newVersionCreatedDesc'),
132
134
  duration: 2000
133
135
  });
134
136
 
@@ -143,8 +145,8 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
143
145
  navigate(`/objects/${response.id}`);
144
146
  toast({
145
147
  status: 'info',
146
- title: 'Viewing New Version',
147
- description: versionLabel ? `Now viewing version '${versionLabel}'` : 'Now viewing the new version',
148
+ title: t('store.viewingNewVersion'),
149
+ description: versionLabel ? t('store.viewingVersionLabel', { label: versionLabel }) : t('store.viewingNewVersionDefault'),
148
150
  duration: 3000
149
151
  });
150
152
  }, 100);
@@ -157,8 +159,8 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
157
159
 
158
160
  toast({
159
161
  status: 'success',
160
- title: 'Properties updated',
161
- description: 'The object properties have been updated successfully.',
162
+ title: t('store.propertiesUpdated'),
163
+ description: t('store.propertiesUpdatedDesc'),
162
164
  duration: 2000
163
165
  });
164
166
 
@@ -172,8 +174,8 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
172
174
  } catch (error: any) {
173
175
  toast({
174
176
  status: 'error',
175
- title: 'Error updating properties',
176
- description: error.message || 'An error occurred while updating the properties.',
177
+ title: t('store.errorUpdatingProperties'),
178
+ description: error.message || t('store.errorUpdatingPropertiesDefault'),
177
179
  duration: 5000
178
180
  });
179
181
  setIsLoading(false);
@@ -193,13 +195,13 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
193
195
  onClose={onClose}
194
196
  className="sm:max-w-[90%] md:max-w-[80%] lg:max-w-[75%] xl:max-w-[70%]"
195
197
  >
196
- <ModalTitle>Edit Properties</ModalTitle>
198
+ <ModalTitle>{t('store.editProperties')}</ModalTitle>
197
199
  <ModalBody>
198
200
  <div className="mb-2 text-sm text-gray-500">
199
201
  {object.type?.name ? (
200
202
  <span>Editing properties for object type: <strong>{object.type.name}</strong></span>
201
203
  ) : (
202
- <span>Editing properties for generic document</span>
204
+ <span>{t('store.editingGenericDocument')}</span>
203
205
  )}
204
206
  {jsonSchema && (
205
207
  <span className="ml-2 text-green-600">(JSON schema validation enabled)</span>
@@ -7,9 +7,10 @@ import {
7
7
  ModalTitle,
8
8
  Input,
9
9
  RadioGroup,
10
- RadioOptionAdapter,
10
+ RadioGroupAdapter,
11
11
  FormItem
12
12
  } from '@vertesia/ui/core';
13
+ import { useUITranslation } from '@vertesia/ui/i18n';
13
14
 
14
15
  export interface SaveVersionConfirmModalProps {
15
16
  isOpen: boolean;
@@ -26,42 +27,29 @@ interface SaveOptionType {
26
27
  description: string;
27
28
  }
28
29
 
29
- class SaveOptionAdapter extends RadioOptionAdapter<SaveOptionType> {
30
- labelOf(item: SaveOptionType): string {
31
- return item.label;
32
- }
33
-
34
- idOf(item: SaveOptionType): string {
35
- return item.id;
36
- }
37
-
38
- renderOption(item: SaveOptionType): React.ReactNode {
39
- return (
40
- <div>
41
- <div className="font-medium">{item.label}</div>
42
- <p className="text-sm text-gray-500 dark:text-gray-400 mt-1">
43
- {item.description}
44
- </p>
45
- </div>
46
- );
47
- }
30
+ class SaveOptionAdapter extends RadioGroupAdapter<SaveOptionType> {
31
+ idOf(item: SaveOptionType): string { return item.id }
32
+ labelOf(item: SaveOptionType): string { return item.label }
33
+ descriptionOf(item: SaveOptionType): React.ReactNode { return item.description }
34
+ selectedClassName(_item: SaveOptionType): string { return 'border-3 border-primary' }
48
35
  }
49
36
 
50
37
  export function SaveVersionConfirmModal({ isOpen, onClose, onConfirm, isLoading, uploadedFileName }: SaveVersionConfirmModalProps) {
38
+ const { t } = useUITranslation();
51
39
  const saveOptions: SaveOptionType[] = [
52
40
  {
53
41
  id: "update",
54
- label: "Update current version",
42
+ label: t('modal.saveVersion.updateCurrent'),
55
43
  description: uploadedFileName
56
- ? "Replace the content file and modify properties directly in the current revision."
57
- : "Modify the properties directly in the current revision."
44
+ ? t('modal.saveVersion.updateWithFileDescription')
45
+ : t('modal.saveVersion.updateDescription')
58
46
  },
59
47
  {
60
48
  id: "new-version",
61
- label: "Create new version",
49
+ label: t('modal.saveVersion.createNew'),
62
50
  description: uploadedFileName
63
- ? "Create a new revision with the replacement file while preserving the original."
64
- : "Create a new revision with these property changes while preserving the original."
51
+ ? t('modal.saveVersion.createWithFileDescription')
52
+ : t('modal.saveVersion.createDescription')
65
53
  }
66
54
  ];
67
55
 
@@ -91,38 +79,37 @@ export function SaveVersionConfirmModal({ isOpen, onClose, onConfirm, isLoading,
91
79
 
92
80
  return (
93
81
  <Modal isOpen={isOpen} onClose={onClose} className="sm:max-w-md">
94
- <ModalTitle>Save Changes</ModalTitle>
82
+ <ModalTitle>{t('modal.saveChanges')}</ModalTitle>
95
83
  <ModalBody>
96
84
  <div className="space-y-4">
97
85
  {uploadedFileName && (
98
86
  <div className="mb-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded-md">
99
87
  <p className="text-sm text-blue-700 dark:text-blue-300 font-medium">
100
- You&apos;re about to replace the content file with: <span className="font-bold">{uploadedFileName}</span>
88
+ {t('modal.saveVersion.replaceFile')} <span className="font-bold">{uploadedFileName}</span>
101
89
  </p>
102
90
  </div>
103
91
  )}
104
92
  <p className="text-sm text-mixer-muted/5">
105
- How would you like to save these changes?
93
+ {t('modal.saveVersion.howToSave')}
106
94
  </p>
107
95
 
108
96
  <RadioGroup
109
97
  adapter={optionAdapter}
110
98
  options={saveOptions}
111
- value={selectedOption}
112
- onChange={handleOptionChange}
113
- gap="gap-4"
99
+ selected={selectedOption}
100
+ onSelect={handleOptionChange}
114
101
  />
115
102
 
116
103
  {createVersion && (
117
104
  <FormItem
118
- label="Version Label (Optional)"
119
- description="Optional label for the new version."
105
+ label={t('modal.saveVersion.versionLabel')}
106
+ description={t('modal.saveVersion.versionLabelDescription')}
120
107
  className="mt-3 pl-8"
121
108
  >
122
109
  <Input
123
110
  value={versionLabel}
124
111
  onChange={setVersionLabel}
125
- placeholder="e.g., v1.2, approved, post-review"
112
+ placeholder={t('modal.saveVersion.versionLabelPlaceholder')}
126
113
  className="w-full"
127
114
  />
128
115
  </FormItem>
@@ -131,14 +118,14 @@ export function SaveVersionConfirmModal({ isOpen, onClose, onConfirm, isLoading,
131
118
  </ModalBody>
132
119
  <ModalFooter>
133
120
  <Button variant="secondary" onClick={onClose} disabled={isLoading}>
134
- Cancel
121
+ {t('modal.cancel')}
135
122
  </Button>
136
123
  <Button
137
124
  variant="primary"
138
125
  onClick={handleConfirm}
139
126
  isLoading={isLoading}
140
127
  >
141
- Save
128
+ {t('modal.save')}
142
129
  </Button>
143
130
  </ModalFooter>
144
131
  </Modal>
@@ -1,4 +1,4 @@
1
- import { useEffect, useRef, useState } from "react";
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
2
 
3
3
  import { clsx } from "clsx";
4
4
  import { RefreshCw } from "lucide-react";
@@ -11,6 +11,7 @@ import { ContentDispositionButton } from "./ContentDispositionButton";
11
11
 
12
12
  import { ColumnLayout, ContentObjectItem } from "@vertesia/common";
13
13
  import { Button, ErrorBox, Spinner, useIntersectionObserver } from "@vertesia/ui/core";
14
+ import { useUITranslation } from '../../../../i18n/index.js';
14
15
 
15
16
  const layout: ColumnLayout[] = [
16
17
  { "name": "Name", "field": "properties.title", "type": "string", "fallback": "name" },
@@ -25,23 +26,31 @@ interface SelectDocumentProps {
25
26
  onChange: (value: ContentObjectItem) => void;
26
27
  type?: string;
27
28
  mimeType?: string;
29
+ /** IDs of already-selected documents — used to highlight rows */
30
+ selectedIds?: Set<string>;
28
31
  }
29
- export function SelectDocument({ onChange }: Readonly<SelectDocumentProps>) {
32
+ export function SelectDocument({ onChange, selectedIds }: Readonly<SelectDocumentProps>) {
30
33
  const onRowClick = (selected: ContentObjectItem) => {
31
34
  onChange(selected || undefined);
32
35
  }
33
36
 
34
37
  return (
35
38
  <DocumentSearchProvider>
36
- <SelectDocumentImpl onRowClick={onRowClick} />
39
+ <SelectDocumentImpl onRowClick={onRowClick} selectedIds={selectedIds} />
37
40
  </DocumentSearchProvider>
38
41
  )
39
42
  }
40
43
 
41
44
  interface SelectDocumentImplProps {
42
45
  onRowClick: (selected: ContentObjectItem) => void;
46
+ selectedIds?: Set<string>;
43
47
  }
44
- function SelectDocumentImpl({ onRowClick }: Readonly<SelectDocumentImplProps>) {
48
+ function SelectDocumentImpl({ onRowClick, selectedIds }: Readonly<SelectDocumentImplProps>) {
49
+ const { t } = useUITranslation();
50
+ const highlightRow = useCallback(
51
+ (item: ContentObjectItem) => !!selectedIds?.has(item.id),
52
+ [selectedIds],
53
+ );
45
54
  const [isReady, setIsReady] = useState(false);
46
55
  const [isGridView, setIsGridView] = useState(localStorage.getItem(LAST_DISPLAYED_VIEW) === "grid");
47
56
  const { search, isLoading, error, objects, hasMore } = useWatchDocumentSearchResult();
@@ -73,7 +82,7 @@ function SelectDocumentImpl({ onRowClick }: Readonly<SelectDocumentImplProps>) {
73
82
  }
74
83
 
75
84
  if (error) {
76
- return <ErrorBox title="Search failed">{error.message}</ErrorBox>
85
+ return <ErrorBox title={t('store.searchFailed')}>{error.message}</ErrorBox>
77
86
  }
78
87
 
79
88
  return (
@@ -89,7 +98,7 @@ function SelectDocumentImpl({ onRowClick }: Readonly<SelectDocumentImplProps>) {
89
98
  </div>
90
99
  <div className="@container flex-1 overflow-y-auto">
91
100
  {/* Documents Display Grid or Table */}
92
- <DocumentTable objects={objects || []} isLoading={false} layout={layout} onRowClick={onRowClick} isGridView={isGridView} />
101
+ <DocumentTable objects={objects || []} isLoading={false} layout={layout} onRowClick={onRowClick} highlightRow={selectedIds?.size ? highlightRow : undefined} isGridView={isGridView} />
93
102
 
94
103
  {/* Intersection observer target */}
95
104
  <div ref={loadMoreRef} className="h-4 w-full" />
@@ -0,0 +1,143 @@
1
+ import { useState, useRef, useCallback } from 'react';
2
+ import { ContentObject } from '@vertesia/common';
3
+ import { Button, useToast, useTheme } from '@vertesia/ui/core';
4
+ import { useUserSession } from '@vertesia/ui/session';
5
+ import { useNavigate } from '@vertesia/ui/router';
6
+ import { MonacoEditor, IEditorApi } from '@vertesia/ui/widgets';
7
+ import { useUITranslation } from '../../../../i18n/index.js';
8
+ import { SaveVersionConfirmModal } from './SaveVersionConfirmModal.js';
9
+
10
+ interface TextEditorPanelProps {
11
+ object: ContentObject;
12
+ text: string;
13
+ onClose: () => void;
14
+ onSaved: () => void;
15
+ }
16
+
17
+ function getMonacoLanguage(contentType?: string): string {
18
+ switch (contentType) {
19
+ case 'text/markdown':
20
+ return 'markdown';
21
+ case 'application/json':
22
+ return 'json';
23
+ case 'application/xml':
24
+ case 'text/xml':
25
+ return 'xml';
26
+ default:
27
+ return 'plaintext';
28
+ }
29
+ }
30
+
31
+ export function TextEditorPanel({ object, text, onClose, onSaved }: TextEditorPanelProps) {
32
+ const { store } = useUserSession();
33
+ const toast = useToast();
34
+ const { t } = useUITranslation();
35
+ const { theme } = useTheme();
36
+ const navigate = useNavigate();
37
+ const editorRef = useRef<IEditorApi | undefined>(undefined);
38
+ const [isDirty, setIsDirty] = useState(false);
39
+ const [isSaving, setIsSaving] = useState(false);
40
+ const [showConfirmation, setShowConfirmation] = useState(false);
41
+
42
+ const language = getMonacoLanguage(object.content?.type);
43
+
44
+ const handleEditorChange = useCallback(() => {
45
+ if (!isDirty) setIsDirty(true);
46
+ }, [isDirty]);
47
+
48
+ function handleSave() {
49
+ if (!editorRef.current) return;
50
+ setShowConfirmation(true);
51
+ }
52
+
53
+ async function saveText(createVersion: boolean, versionLabel?: string) {
54
+ if (!editorRef.current) return;
55
+
56
+ const editorText = editorRef.current.getValue();
57
+ const contentType = object.content?.type || 'text/plain';
58
+ const fileName = object.content?.name || 'content.txt';
59
+
60
+ try {
61
+ setIsSaving(true);
62
+
63
+ const blob = new Blob([editorText], { type: contentType });
64
+ const file = new File([blob], fileName, { type: contentType });
65
+
66
+ const response = await store.objects.update(object.id, {
67
+ content: file as any,
68
+ }, {
69
+ createRevision: createVersion,
70
+ revisionLabel: versionLabel,
71
+ ifMatch: object.content?.etag,
72
+ });
73
+
74
+ toast({
75
+ status: 'success',
76
+ title: t('store.textSaved'),
77
+ duration: 2000,
78
+ });
79
+
80
+ setShowConfirmation(false);
81
+
82
+ if (createVersion && response.id !== object.id) {
83
+ onClose();
84
+ setTimeout(() => {
85
+ navigate(`/objects/${response.id}`);
86
+ }, 100);
87
+ } else {
88
+ onSaved();
89
+ }
90
+ } catch (error: any) {
91
+ const is412 = error?.status === 412 || error?.message?.includes('412');
92
+ toast({
93
+ status: 'error',
94
+ title: t('store.errorSavingText'),
95
+ description: is412
96
+ ? t('store.textConflict')
97
+ : (error.message || t('store.errorSavingTextDefault')),
98
+ duration: 5000,
99
+ });
100
+ } finally {
101
+ setIsSaving(false);
102
+ }
103
+ }
104
+
105
+ return (
106
+ <>
107
+ <div className="flex items-center gap-2 px-2 py-1 shrink-0">
108
+ {isDirty && (
109
+ <span className="text-xs text-attention">{t('store.unsavedChanges')}</span>
110
+ )}
111
+ <div className="flex-1" />
112
+ <Button variant="ghost" size="sm" onClick={onClose} disabled={isSaving}>
113
+ {t('store.cancelEdit')}
114
+ </Button>
115
+ <Button variant="outline" size="sm" onClick={handleSave} disabled={!isDirty} isLoading={isSaving}>
116
+ {t('store.saveText')}
117
+ </Button>
118
+ </div>
119
+ <div className="flex-1 min-h-0 border rounded-md overflow-hidden mx-2 mb-2">
120
+ <MonacoEditor
121
+ value={text}
122
+ language={language}
123
+ editorRef={editorRef}
124
+ onChange={handleEditorChange}
125
+ theme={theme === 'dark' ? 'vs-dark' : 'vs'}
126
+ options={{
127
+ wordWrap: 'on',
128
+ minimap: { enabled: false },
129
+ lineNumbers: 'on',
130
+ scrollBeyondLastLine: false,
131
+ }}
132
+ />
133
+ </div>
134
+
135
+ <SaveVersionConfirmModal
136
+ isOpen={showConfirmation}
137
+ onClose={() => setShowConfirmation(false)}
138
+ onConfirm={saveText}
139
+ isLoading={isSaving}
140
+ />
141
+ </>
142
+ );
143
+ }
@@ -5,6 +5,8 @@ import { Button, Checkbox, Input, Modal, ModalBody, ModalFooter, ModalTitle, Num
5
5
  import { useUserSession } from '@vertesia/ui/session';
6
6
  import { Settings } from 'lucide-react';
7
7
 
8
+ import { useUITranslation } from '../../../../i18n/index.js';
9
+
8
10
  interface VectorSearchWidgetProps {
9
11
  onChange: (query?: ComplexSearchQuery) => void;
10
12
  className?: string;
@@ -19,6 +21,7 @@ const embeddingTypes = Object.values(SupportedEmbeddingTypes);
19
21
 
20
22
  export function VectorSearchWidget({ onChange, isLoading, refresh, searchTypes }: VectorSearchWidgetProps) {
21
23
  const { client, project } = useUserSession();
24
+ const { t } = useUITranslation();
22
25
  const toast = useToast();
23
26
 
24
27
  const [searchText, setSearchText] = useState<string | undefined>(undefined);
@@ -104,10 +107,10 @@ export function VectorSearchWidget({ onChange, isLoading, refresh, searchTypes }
104
107
 
105
108
  return (
106
109
  <div className="flex gap-1 items-center">
107
- <Input placeholder="Type what you are looking for, or select a filter" value={searchText} onChange={setSearchText} onKeyDown={handleKeyPress} className='min-w-[200px]' />
108
- <Button variant="ghost" onClick={() => setShowSettings(true)} alt="Semantic search settings" className="ml-1"><Settings size={18} /></Button>
110
+ <Input placeholder={t('store.searchPlaceholder')} value={searchText} onChange={setSearchText} onKeyDown={handleKeyPress} className='min-w-[200px]' />
111
+ <Button variant="ghost" onClick={() => setShowSettings(true)} alt={t('store.semanticSearchSettings')} className="ml-1"><Settings size={18} /></Button>
109
112
  <Modal isOpen={showSettings} onClose={() => setShowSettings(false)}>
110
- <ModalTitle>Search Types</ModalTitle>
113
+ <ModalTitle>{t('store.searchTypes')}</ModalTitle>
111
114
  <ModalBody>
112
115
  <div className="flex flex-col gap-2">
113
116
  <label className="flex items-center gap-2">
@@ -115,9 +118,9 @@ export function VectorSearchWidget({ onChange, isLoading, refresh, searchTypes }
115
118
  checked={selectedTypes.includes(SearchTypes.full_text)}
116
119
  onCheckedChange={handleCheckboxChange(SearchTypes.full_text)}
117
120
  />
118
- <span>Full Text</span>
121
+ <span>{t('store.fullText')}</span>
119
122
  </label>
120
- <div className="font-semibold mt-2 mb-1">Embeddings</div>
123
+ <div className="font-semibold mt-2 mb-1">{t('store.embeddings')}</div>
121
124
  {embeddingTypes.map(type => (
122
125
  <label key={type} className="flex items-center gap-2">
123
126
  <Checkbox
@@ -128,16 +131,16 @@ export function VectorSearchWidget({ onChange, isLoading, refresh, searchTypes }
128
131
  </label>
129
132
  ))}
130
133
  <div className="mt-3">
131
- <span className="mr-2">Limit</span>
134
+ <span className="mr-2">{t('store.limit')}</span>
132
135
  <NumberInput type="number" min={1} value={limit} onChange={v => setLimit(Number(v ?? 100))} style={{ width: 80 }} />
133
136
  </div>
134
137
  </div>
135
138
  </ModalBody>
136
139
  <ModalFooter>
137
- <Button variant="outline" onClick={() => setShowSettings(false)}>Close</Button>
140
+ <Button variant="outline" onClick={() => setShowSettings(false)}>{t('store.close')}</Button>
138
141
  </ModalFooter>
139
142
  </Modal>
140
- <Button variant="secondary" isLoading={isLoading} onClick={fireSearch} isDisabled={!isReady} alt="Semantic search">Search</Button>
143
+ <Button variant="secondary" isLoading={isLoading} onClick={fireSearch} isDisabled={!isReady} alt={t('store.semanticSearch')}>{t('store.search')}</Button>
141
144
  </div>
142
145
  );
143
146
  }
@@ -1,6 +1,7 @@
1
1
  import { DocAnalyzerProgress, DocProcessorOutputFormat, MarkdownRenditionFormat, WorkflowExecutionStatus } from "@vertesia/common";
2
2
  import { useUserSession } from "@vertesia/ui/session";
3
3
  import { useCallback, useEffect, useState } from "react";
4
+ import { i18nInstance, NAMESPACE } from '../../../../i18n/instance.js';
4
5
 
5
6
  // Maximum text size before cropping (128K characters)
6
7
  const MAX_TEXT_DISPLAY_SIZE = 128 * 1024;
@@ -136,6 +137,7 @@ export function usePdfProcessingStatus(objectId: string, shouldPoll: boolean) {
136
137
  */
137
138
  export function useOfficePdfConversion(objectId: string, enabled: boolean) {
138
139
  const { client } = useUserSession();
140
+ const t = i18nInstance.getFixedT(null, NAMESPACE);
139
141
 
140
142
  const [pdfUrl, setPdfUrl] = useState<string | undefined>();
141
143
  const [isConverting, setIsConverting] = useState(false);
@@ -163,12 +165,12 @@ export function useOfficePdfConversion(objectId: string, enabled: boolean) {
163
165
  setPdfUrl(response.renditions[0]);
164
166
  setIsConverting(false);
165
167
  } else if (response.status === "failed") {
166
- setError("PDF conversion failed");
168
+ setError(t('store.pdfConversionFailed'));
167
169
  setIsConverting(false);
168
170
  }
169
171
  } catch (err) {
170
172
  console.error("Failed to convert Office document to PDF:", err);
171
- setError("Failed to convert to PDF");
173
+ setError(t('store.failedToConvertToPdf'));
172
174
  setIsConverting(false);
173
175
  }
174
176
  };
@@ -2,6 +2,7 @@ import { VertesiaClient, ZenoClient } from "@vertesia/client";
2
2
  import { MarkdownRenditionFormat, RenderMarkdownPayload } from "@vertesia/common";
3
3
  import { useCallback, useState } from "react";
4
4
  import { ToastFn } from "@vertesia/ui/core";
5
+ import { i18nInstance, NAMESPACE } from '../../../../i18n/instance.js';
5
6
 
6
7
  export interface UseDownloadFileOptions {
7
8
  client: VertesiaClient | ZenoClient;
@@ -37,6 +38,7 @@ export interface UseDownloadFileResult {
37
38
  * Handles GCS URIs (via client.files API), direct URLs, and markdown rendering.
38
39
  */
39
40
  export function useDownloadFile({ client, toast }: UseDownloadFileOptions): UseDownloadFileResult {
41
+ const t = i18nInstance.getFixedT(null, NAMESPACE);
40
42
  const [isDownloading, setIsDownloading] = useState(false);
41
43
 
42
44
  /**
@@ -57,8 +59,8 @@ export function useDownloadFile({ client, toast }: UseDownloadFileOptions): UseD
57
59
  } catch (err) {
58
60
  toast({
59
61
  status: "error",
60
- title: "Download failed",
61
- description: err instanceof Error ? err.message : "Failed to get download URL",
62
+ title: t('store.downloadFailed'),
63
+ description: err instanceof Error ? err.message : t('store.failedToGetDownloadUrl'),
62
64
  duration: 5000,
63
65
  });
64
66
  } finally {
@@ -120,15 +122,15 @@ export function useDownloadFile({ client, toast }: UseDownloadFileOptions): UseD
120
122
 
121
123
  toast({
122
124
  status: "success",
123
- title: "Document exported",
124
- description: `Successfully exported to ${options.format.toUpperCase()}`,
125
+ title: t('store.documentExported'),
126
+ description: t('store.successfullyExportedTo', { format: options.format.toUpperCase() }),
125
127
  duration: 2000,
126
128
  });
127
129
  } catch (err) {
128
130
  toast({
129
131
  status: "error",
130
- title: "Export failed",
131
- description: err instanceof Error ? err.message : "Failed to export document",
132
+ title: t('store.exportFailed'),
133
+ description: err instanceof Error ? err.message : t('store.failedToExportDocument'),
132
134
  duration: 5000,
133
135
  });
134
136
  } finally {
@@ -157,15 +159,15 @@ export function useDownloadFile({ client, toast }: UseDownloadFileOptions): UseD
157
159
 
158
160
  toast({
159
161
  status: "success",
160
- title: "Content exported",
161
- description: `Successfully exported to ${options.format.toUpperCase()}`,
162
+ title: t('store.contentExported'),
163
+ description: t('store.successfullyExportedTo', { format: options.format.toUpperCase() }),
162
164
  duration: 2000,
163
165
  });
164
166
  } catch (err) {
165
167
  toast({
166
168
  status: "error",
167
- title: "Export failed",
168
- description: err instanceof Error ? err.message : "Failed to export content",
169
+ title: t('store.exportFailed'),
170
+ description: err instanceof Error ? err.message : t('store.failedToExportContent'),
169
171
  duration: 5000,
170
172
  });
171
173
  } finally {
@@ -1,5 +1,7 @@
1
1
  import { ColumnLayout, ContentObjectItem } from "@vertesia/common";
2
2
  import { Table, TBody } from "@vertesia/ui/core";
3
+ import { useUITranslation } from '../../../../i18n/index.js';
4
+ import { CheckIcon } from "lucide-react";
3
5
  import { ChangeEvent } from "react";
4
6
  import { DocumentIcon, DocumentIconSkeleton } from "../components/DocumentIcon";
5
7
  import { DocumentSelection } from "../DocumentSelectionProvider";
@@ -10,6 +12,7 @@ interface ViewProps {
10
12
  isLoading: boolean;
11
13
  layout?: ColumnLayout[];
12
14
  onRowClick?: (object: ContentObjectItem) => void;
15
+ highlightRow?: (item: ContentObjectItem) => boolean;
13
16
  previewObject?: (objectId: string) => void;
14
17
  selectedObject?: ContentObjectItem | null;
15
18
  onSelectionChange: ((object: ContentObjectItem, ev: ChangeEvent<HTMLInputElement>) => void);
@@ -18,7 +21,8 @@ interface ViewProps {
18
21
  columns: DocumentTableColumn[];
19
22
  }
20
23
 
21
- export function DocumentTableView({ objects, selection, isLoading, columns, onRowClick, selectedObject, toggleAll, onSelectionChange }: ViewProps) {
24
+ export function DocumentTableView({ objects, selection, isLoading, columns, onRowClick, highlightRow, selectedObject, toggleAll, onSelectionChange }: ViewProps) {
25
+ const { t } = useUITranslation();
22
26
  return (
23
27
  <Table className="w-full border-t">
24
28
  <thead>
@@ -32,8 +36,9 @@ export function DocumentTableView({ objects, selection, isLoading, columns, onRo
32
36
  <TBody isLoading={isLoading} columns={columns.length + 1}>
33
37
  {
34
38
  objects?.map((obj: ContentObjectItem) => {
39
+ const isHighlighted = highlightRow?.(obj);
35
40
  return (
36
- <tr key={obj.id} className={`cursor-pointer hover:bg-muted group ${selectedObject?.id === obj.id ? 'bg-muted' : ''}`} onClick={() => {
41
+ <tr key={obj.id} className={`cursor-pointer hover:bg-muted group ${selectedObject?.id === obj.id ? 'bg-muted' : ''} ${isHighlighted ? 'bg-blue-50 dark:bg-blue-900/20' : ''}`} onClick={() => {
37
42
  onRowClick && onRowClick(obj)
38
43
  }}>
39
44
  {selection &&
@@ -43,27 +48,32 @@ export function DocumentTableView({ objects, selection, isLoading, columns, onRo
43
48
  </td>
44
49
  }
45
50
  {columns.map((col, index) => col.render(obj, index))}
51
+ <td className="w-8 text-center">
52
+ {isHighlighted && (
53
+ <CheckIcon className="size-4 text-blue-600 dark:text-blue-400 inline-block" />
54
+ )}
55
+ </td>
46
56
  </tr>
47
57
  )
48
58
  })
49
59
  }
50
- {objects.length === 0 && <tr><td colSpan={columns.length + (selection ? 1 : 0)} className="text-center">No objects. Just drag and drop documents or images here to create content objects.</td></tr>}
60
+ {objects.length === 0 && <tr><td colSpan={columns.length + (selection ? 1 : 0)} className="text-center">{t('store.noObjectsDragAndDrop')}</td></tr>}
51
61
  </TBody>
52
62
  </Table>
53
63
  )
54
64
  }
55
65
 
56
- export function DocumentGridView({ objects, selection, isLoading, onSelectionChange, onRowClick, previewObject, selectedObject }: ViewProps) {
66
+ export function DocumentGridView({ objects, selection, isLoading, onSelectionChange, onRowClick, highlightRow, previewObject, selectedObject }: ViewProps) {
57
67
  return (
58
68
  <>
59
69
  <DocumentIconSkeleton isLoading={isLoading} />
60
70
  <div className="w-full gap-2 grid xs:grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-6 @xs:grid-cols-1 @sm:grid-cols-2 @md:grid-cols-3 @lg:grid-cols-4">
61
71
  {
62
72
  objects.map((document) => (
63
- <DocumentIcon key={document.id} document={document} selection={selection} onSelectionChange={onSelectionChange} onRowClick={onRowClick} previewObject={previewObject} selectedObject={selectedObject} />
73
+ <DocumentIcon key={document.id} document={document} selection={selection} onSelectionChange={onSelectionChange} onRowClick={onRowClick} highlightRow={highlightRow} previewObject={previewObject} selectedObject={selectedObject} />
64
74
  ))
65
75
  }
66
76
  </div>
67
77
  </>
68
78
  )
69
- }
79
+ }