@vertesia/ui 1.0.0-dev.20260305.083323Z → 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 (770) 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/switch.js +19 -0
  38. package/lib/esm/core/components/shadcn/switch.js.map +1 -0
  39. package/lib/esm/core/components/shadcn/tabs.js +6 -6
  40. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  41. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +7 -4
  42. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
  43. package/lib/esm/core/components/toast/NotificationPanel.js +3 -3
  44. package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
  45. package/lib/esm/env/index.js +11 -1
  46. package/lib/esm/env/index.js.map +1 -1
  47. package/lib/esm/features/agent/PayloadBuilder.js +87 -15
  48. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  49. package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
  50. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
  51. package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
  52. package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
  53. package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
  54. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  55. package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
  56. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  57. package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
  58. package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
  59. package/lib/esm/features/agent/chat/ModernAgentConversation.js +243 -106
  60. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  61. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
  62. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  63. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
  64. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  65. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +57 -18
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
  72. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  73. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
  74. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  75. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
  76. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  77. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
  78. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  79. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
  80. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  81. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
  82. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  83. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
  84. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  85. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
  86. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  87. package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
  88. package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
  89. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
  90. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
  91. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +75 -16
  92. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  93. package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
  94. package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
  95. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
  96. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  97. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
  98. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
  99. package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
  100. package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
  101. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
  102. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  103. package/lib/esm/features/facets/RunsFacetsNav.js +1 -1
  104. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  105. package/lib/esm/features/facets/index.js +1 -1
  106. package/lib/esm/features/facets/index.js.map +1 -1
  107. package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
  108. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  109. package/lib/esm/features/layout/NotFoundView.js +3 -1
  110. package/lib/esm/features/layout/NotFoundView.js.map +1 -1
  111. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
  112. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  113. package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
  114. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
  115. package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
  116. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
  117. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
  118. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  119. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
  120. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  121. package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
  122. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
  123. package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
  124. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  125. package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
  126. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  127. package/lib/esm/features/store/collections/CreateCollection.js +12 -9
  128. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  129. package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
  130. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  131. package/lib/esm/features/store/collections/SelectCollection.js +25 -10
  132. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  133. package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
  134. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
  135. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
  136. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
  137. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
  138. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  139. package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
  140. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  141. package/lib/esm/features/store/objects/DocumentTable.js +10 -7
  142. package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
  143. package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
  144. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  145. package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
  146. package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  147. package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
  148. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  149. package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
  150. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  151. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
  152. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  153. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
  154. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  155. package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
  156. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  157. package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
  158. package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
  159. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
  160. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  161. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
  162. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  163. package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
  164. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
  165. package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
  166. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  167. package/lib/esm/features/store/objects/layout/renderers.js +10 -1
  168. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  169. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
  170. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  171. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
  172. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
  173. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
  174. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  175. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
  176. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
  177. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
  178. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
  179. package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
  180. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  181. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
  182. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  183. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
  184. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  185. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
  186. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
  187. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
  188. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  189. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
  190. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  191. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
  192. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
  193. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
  194. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  195. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
  196. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  197. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
  198. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  199. package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
  200. package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
  201. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
  202. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
  203. package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
  204. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
  205. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
  206. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  207. package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
  208. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  209. package/lib/esm/features/store/types/SelectContentType.js +9 -7
  210. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  211. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
  212. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  213. package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
  214. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  215. package/lib/esm/features/user/UserInfo.js +40 -50
  216. package/lib/esm/features/user/UserInfo.js.map +1 -1
  217. package/lib/esm/i18n/index.js +31 -0
  218. package/lib/esm/i18n/index.js.map +1 -0
  219. package/lib/esm/i18n/instance.js +46 -0
  220. package/lib/esm/i18n/instance.js.map +1 -0
  221. package/lib/esm/i18n/locales/ar.json +694 -0
  222. package/lib/esm/i18n/locales/de.json +662 -0
  223. package/lib/esm/i18n/locales/en.json +663 -0
  224. package/lib/esm/i18n/locales/es.json +668 -0
  225. package/lib/esm/i18n/locales/fr.json +670 -0
  226. package/lib/esm/i18n/locales/it.json +668 -0
  227. package/lib/esm/i18n/locales/ja.json +662 -0
  228. package/lib/esm/i18n/locales/ko.json +662 -0
  229. package/lib/esm/i18n/locales/pt.json +668 -0
  230. package/lib/esm/i18n/locales/ru.json +678 -0
  231. package/lib/esm/i18n/locales/tr.json +662 -0
  232. package/lib/esm/i18n/locales/zh-TW.json +662 -0
  233. package/lib/esm/i18n/locales/zh.json +662 -0
  234. package/lib/esm/layout/FullHeightLayout.js +3 -0
  235. package/lib/esm/layout/FullHeightLayout.js.map +1 -1
  236. package/lib/esm/layout/Navbar.js +3 -1
  237. package/lib/esm/layout/Navbar.js.map +1 -1
  238. package/lib/esm/layout/RegionTag.js +15 -0
  239. package/lib/esm/layout/RegionTag.js.map +1 -0
  240. package/lib/esm/layout/Sidebar.js +2 -2
  241. package/lib/esm/layout/Sidebar.js.map +1 -1
  242. package/lib/esm/layout/index.js +1 -0
  243. package/lib/esm/layout/index.js.map +1 -1
  244. package/lib/esm/router/HistoryNavigator.js +1 -1
  245. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  246. package/lib/esm/router/Nav.js +5 -3
  247. package/lib/esm/router/Nav.js.map +1 -1
  248. package/lib/esm/router/NestedNavigationContext.js +4 -0
  249. package/lib/esm/router/NestedNavigationContext.js.map +1 -1
  250. package/lib/esm/router/NestedRouterProvider.js +3 -1
  251. package/lib/esm/router/NestedRouterProvider.js.map +1 -1
  252. package/lib/esm/router/Router.js +21 -6
  253. package/lib/esm/router/Router.js.map +1 -1
  254. package/lib/esm/session/UserSession.js +23 -0
  255. package/lib/esm/session/UserSession.js.map +1 -1
  256. package/lib/esm/session/UserSessionProvider.js +4 -0
  257. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  258. package/lib/esm/session/auth/composable.js +1 -1
  259. package/lib/esm/session/auth/composable.js.map +1 -1
  260. package/lib/esm/session/auth/firebase.js +1 -1
  261. package/lib/esm/session/auth/firebase.js.map +1 -1
  262. package/lib/esm/session/auth/useCurrentTenant.js +3 -1
  263. package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
  264. package/lib/esm/shell/SplashScreen.js +3 -7
  265. package/lib/esm/shell/SplashScreen.js.map +1 -1
  266. package/lib/esm/shell/apps/StandaloneApp.js +5 -2
  267. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  268. package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
  269. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
  270. package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
  271. package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
  272. package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
  273. package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
  274. package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
  275. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  276. package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
  277. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
  278. package/lib/esm/shell/login/SigninScreen.js +6 -2
  279. package/lib/esm/shell/login/SigninScreen.js.map +1 -1
  280. package/lib/esm/shell/login/SignupForm.js +36 -34
  281. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  282. package/lib/esm/shell/login/TerminalLogin.js +28 -21
  283. package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
  284. package/lib/esm/shell/login/UserInfo.js +6 -4
  285. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  286. package/lib/esm/shell/login/UserSessionMenu.js +3 -4
  287. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
  288. package/lib/esm/widgets/index.js +0 -1
  289. package/lib/esm/widgets/index.js.map +1 -1
  290. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  291. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  292. package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
  293. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  294. package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
  295. package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
  296. package/lib/esm/widgets/json-view/JSONView.js +1 -1
  297. package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
  298. package/lib/esm/widgets/json-view/index.js +1 -0
  299. package/lib/esm/widgets/json-view/index.js.map +1 -1
  300. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
  301. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  302. package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
  303. package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
  304. package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
  305. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  306. package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
  307. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  308. package/lib/esm/widgets/markdown/index.js +10 -9
  309. package/lib/esm/widgets/markdown/index.js.map +1 -1
  310. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
  311. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  312. package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
  313. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  314. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
  315. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  316. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
  317. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  318. package/lib/esm/widgets/upload/DropZone.js +9 -11
  319. package/lib/esm/widgets/upload/DropZone.js.map +1 -1
  320. package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
  321. package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
  322. package/lib/esm/widgets/upload/UploadSummary.js +3 -1
  323. package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
  324. package/lib/tsconfig.tsbuildinfo +1 -1
  325. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  326. package/lib/types/core/components/SidePanel.d.ts +4 -2
  327. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  328. package/lib/types/core/components/index.d.ts +0 -5
  329. package/lib/types/core/components/index.d.ts.map +1 -1
  330. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  331. package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
  332. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
  333. package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
  334. package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
  335. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
  336. package/lib/types/core/components/shadcn/dropdown.d.ts +44 -0
  337. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
  338. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
  339. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
  340. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
  341. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  342. package/lib/types/core/components/shadcn/index.d.ts +4 -0
  343. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  344. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  345. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
  346. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
  347. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
  348. package/lib/types/core/components/shadcn/popover.d.ts +11 -3
  349. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  350. package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
  351. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
  352. package/lib/types/core/components/shadcn/switch.d.ts +12 -0
  353. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
  354. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  355. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  356. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +3 -2
  357. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
  358. package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
  359. package/lib/types/env/index.d.ts +8 -1
  360. package/lib/types/env/index.d.ts.map +1 -1
  361. package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
  362. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  363. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
  364. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
  365. package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
  366. package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
  367. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  368. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  369. package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  370. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
  371. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  372. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  373. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  374. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  375. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +12 -3
  376. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  377. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
  378. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  379. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  380. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  381. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  382. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
  383. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
  384. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  385. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
  386. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  387. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  388. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
  389. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  390. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  391. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  392. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
  393. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +3 -3
  394. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  395. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
  396. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
  397. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  398. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
  399. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
  400. package/lib/types/features/agent/chat/types/document.d.ts +2 -0
  401. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
  402. package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
  403. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
  404. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
  405. package/lib/types/features/facets/index.d.ts +1 -1
  406. package/lib/types/features/facets/index.d.ts.map +1 -1
  407. package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
  408. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  409. package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
  410. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
  411. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  412. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  413. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
  414. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  415. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  416. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  417. package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
  418. package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
  419. package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
  420. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  421. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  422. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
  423. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
  424. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  425. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  426. package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
  427. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  428. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  429. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  430. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
  431. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  432. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  433. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
  434. package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
  435. package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
  436. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
  437. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
  438. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  439. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  440. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  441. package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
  442. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  443. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  444. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  445. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
  446. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
  447. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  448. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
  449. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
  450. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
  451. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
  452. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
  453. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  454. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
  455. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  456. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
  457. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  458. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
  459. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
  460. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
  461. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  462. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
  463. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
  464. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  465. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  466. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
  467. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
  468. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  469. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
  470. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
  471. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  472. package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
  473. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  474. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  475. package/lib/types/features/user/UserInfo.d.ts +2 -2
  476. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  477. package/lib/types/i18n/index.d.ts +14 -0
  478. package/lib/types/i18n/index.d.ts.map +1 -0
  479. package/lib/types/i18n/instance.d.ts +5 -0
  480. package/lib/types/i18n/instance.d.ts.map +1 -0
  481. package/lib/types/layout/FullHeightLayout.d.ts +3 -0
  482. package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
  483. package/lib/types/layout/Navbar.d.ts.map +1 -1
  484. package/lib/types/layout/RegionTag.d.ts +4 -0
  485. package/lib/types/layout/RegionTag.d.ts.map +1 -0
  486. package/lib/types/layout/Sidebar.d.ts +2 -1
  487. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  488. package/lib/types/layout/index.d.ts +1 -0
  489. package/lib/types/layout/index.d.ts.map +1 -1
  490. package/lib/types/router/Nav.d.ts +5 -1
  491. package/lib/types/router/Nav.d.ts.map +1 -1
  492. package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
  493. package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
  494. package/lib/types/router/Router.d.ts +2 -0
  495. package/lib/types/router/Router.d.ts.map +1 -1
  496. package/lib/types/session/UserSession.d.ts +1 -0
  497. package/lib/types/session/UserSession.d.ts.map +1 -1
  498. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  499. package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
  500. package/lib/types/shell/SplashScreen.d.ts.map +1 -1
  501. package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
  502. package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
  503. package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
  504. package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
  505. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  506. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
  507. package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
  508. package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
  509. package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
  510. package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -1
  511. package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
  512. package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
  513. package/lib/types/widgets/index.d.ts +0 -1
  514. package/lib/types/widgets/index.d.ts.map +1 -1
  515. package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
  516. package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
  517. package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
  518. package/lib/types/widgets/json-view/index.d.ts +1 -0
  519. package/lib/types/widgets/json-view/index.d.ts.map +1 -1
  520. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  521. package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
  522. package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
  523. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  524. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
  525. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  526. package/lib/types/widgets/markdown/index.d.ts +10 -9
  527. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  528. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  529. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  530. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
  531. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  532. package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
  533. package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  534. package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -1
  535. package/lib/vertesia-ui-core.js +1 -1
  536. package/lib/vertesia-ui-core.js.map +1 -1
  537. package/lib/vertesia-ui-env.js +1 -1
  538. package/lib/vertesia-ui-env.js.map +1 -1
  539. package/lib/vertesia-ui-features.js +1 -1
  540. package/lib/vertesia-ui-features.js.map +1 -1
  541. package/lib/vertesia-ui-i18n.js +2 -0
  542. package/lib/vertesia-ui-i18n.js.map +1 -0
  543. package/lib/vertesia-ui-layout.js +1 -1
  544. package/lib/vertesia-ui-layout.js.map +1 -1
  545. package/lib/vertesia-ui-router.js +1 -1
  546. package/lib/vertesia-ui-router.js.map +1 -1
  547. package/lib/vertesia-ui-session.js +1 -1
  548. package/lib/vertesia-ui-session.js.map +1 -1
  549. package/lib/vertesia-ui-shell.js +1 -1
  550. package/lib/vertesia-ui-shell.js.map +1 -1
  551. package/lib/vertesia-ui-widgets.js +1 -1
  552. package/lib/vertesia-ui-widgets.js.map +1 -1
  553. package/package.json +36 -22
  554. package/src/core/components/SelectList.tsx +3 -1
  555. package/src/core/components/SidePanel.tsx +5 -4
  556. package/src/core/components/index.ts +0 -5
  557. package/src/core/components/shadcn/breadcrumb.tsx +16 -9
  558. package/src/core/components/shadcn/button.tsx +5 -3
  559. package/src/core/components/shadcn/collaspible.tsx +33 -0
  560. package/src/core/components/shadcn/dropdown.tsx +309 -0
  561. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
  562. package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
  563. package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
  564. package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
  565. package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
  566. package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
  567. package/src/core/components/shadcn/index.ts +5 -1
  568. package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
  569. package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
  570. package/src/core/components/shadcn/popover.tsx +12 -7
  571. package/src/core/components/shadcn/radioGroup.tsx +100 -0
  572. package/src/core/components/shadcn/switch.tsx +60 -0
  573. package/src/core/components/shadcn/tabs.tsx +29 -27
  574. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +13 -9
  575. package/src/core/components/toast/NotificationPanel.tsx +38 -44
  576. package/src/env/index.ts +16 -3
  577. package/src/features/agent/PayloadBuilder.tsx +100 -13
  578. package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
  579. package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
  580. package/src/features/agent/chat/AskUserWidget.tsx +14 -8
  581. package/src/features/agent/chat/DocumentPanel.tsx +24 -9
  582. package/src/features/agent/chat/ImageLightbox.tsx +6 -3
  583. package/src/features/agent/chat/ModernAgentConversation.tsx +461 -271
  584. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
  585. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
  586. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +126 -46
  587. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
  588. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
  589. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
  590. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
  591. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
  592. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
  593. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
  594. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
  595. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
  596. package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
  597. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
  598. package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
  599. package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
  600. package/src/features/agent/chat/hooks/useAgentStream.ts +80 -19
  601. package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
  602. package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
  603. package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
  604. package/src/features/agent/chat/types/document.ts +2 -0
  605. package/src/features/errors/PanelErrorBoundary.tsx +5 -3
  606. package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
  607. package/src/features/facets/RunsFacetsNav.tsx +6 -6
  608. package/src/features/facets/index.ts +1 -1
  609. package/src/features/layout/GenericPageNavHeader.tsx +64 -41
  610. package/src/features/layout/NotFoundView.tsx +4 -1
  611. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
  612. package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
  613. package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
  614. package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
  615. package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
  616. package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
  617. package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
  618. package/src/features/store/collections/CollectionsTable.tsx +20 -12
  619. package/src/features/store/collections/CreateCollection.tsx +14 -11
  620. package/src/features/store/collections/EditCollectionView.tsx +31 -28
  621. package/src/features/store/collections/SelectCollection.tsx +50 -14
  622. package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
  623. package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
  624. package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
  625. package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
  626. package/src/features/store/objects/DocumentTable.tsx +11 -5
  627. package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
  628. package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
  629. package/src/features/store/objects/components/ContentOverview.tsx +96 -50
  630. package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
  631. package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
  632. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
  633. package/src/features/store/objects/components/SelectDocument.tsx +15 -6
  634. package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
  635. package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
  636. package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
  637. package/src/features/store/objects/components/useDownloadFile.ts +12 -10
  638. package/src/features/store/objects/layout/documentLayout.tsx +16 -6
  639. package/src/features/store/objects/layout/renderers.tsx +27 -1
  640. package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
  641. package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
  642. package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
  643. package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
  644. package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
  645. package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
  646. package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
  647. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
  648. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
  649. package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
  650. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
  651. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
  652. package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
  653. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
  654. package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
  655. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
  656. package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
  657. package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
  658. package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
  659. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
  660. package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
  661. package/src/features/store/types/SelectContentType.tsx +15 -13
  662. package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
  663. package/src/features/store/types/TableLayoutEditor.tsx +16 -12
  664. package/src/features/user/UserInfo.tsx +47 -56
  665. package/src/i18n/index.tsx +45 -0
  666. package/src/i18n/instance.ts +49 -0
  667. package/src/i18n/locales/ar.json +694 -0
  668. package/src/i18n/locales/de.json +662 -0
  669. package/src/i18n/locales/en.json +663 -0
  670. package/src/i18n/locales/es.json +668 -0
  671. package/src/i18n/locales/fr.json +670 -0
  672. package/src/i18n/locales/it.json +668 -0
  673. package/src/i18n/locales/ja.json +662 -0
  674. package/src/i18n/locales/ko.json +662 -0
  675. package/src/i18n/locales/pt.json +668 -0
  676. package/src/i18n/locales/ru.json +678 -0
  677. package/src/i18n/locales/tr.json +662 -0
  678. package/src/i18n/locales/zh-TW.json +662 -0
  679. package/src/i18n/locales/zh.json +662 -0
  680. package/src/layout/FullHeightLayout.tsx +8 -0
  681. package/src/layout/Navbar.tsx +4 -2
  682. package/src/layout/RegionTag.tsx +25 -0
  683. package/src/layout/Sidebar.tsx +4 -3
  684. package/src/layout/index.ts +2 -1
  685. package/src/router/HistoryNavigator.ts +10 -10
  686. package/src/router/Nav.tsx +9 -3
  687. package/src/router/NestedNavigationContext.tsx +4 -0
  688. package/src/router/NestedRouterProvider.tsx +3 -1
  689. package/src/router/Router.tsx +23 -7
  690. package/src/session/UserSession.ts +24 -0
  691. package/src/session/UserSessionProvider.tsx +4 -0
  692. package/src/session/auth/composable.ts +1 -1
  693. package/src/session/auth/firebase.ts +1 -1
  694. package/src/session/auth/useCurrentTenant.ts +3 -1
  695. package/src/shell/SplashScreen.tsx +22 -26
  696. package/src/shell/apps/StandaloneApp.tsx +9 -6
  697. package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
  698. package/src/shell/login/GitHubSignInButton.tsx +3 -7
  699. package/src/shell/login/GoogleSignInButton.tsx +3 -1
  700. package/src/shell/login/InviteAcceptModal.tsx +5 -2
  701. package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
  702. package/src/shell/login/SigninScreen.tsx +18 -13
  703. package/src/shell/login/SignupForm.tsx +46 -46
  704. package/src/shell/login/TerminalLogin.tsx +35 -31
  705. package/src/shell/login/UserInfo.tsx +15 -13
  706. package/src/shell/login/UserSessionMenu.tsx +28 -31
  707. package/src/widgets/index.ts +0 -1
  708. package/src/widgets/json-view/JSONCode.tsx +1 -1
  709. package/src/widgets/json-view/JSONDisplay.tsx +8 -3
  710. package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
  711. package/src/widgets/json-view/JSONView.tsx +1 -1
  712. package/src/widgets/json-view/index.ts +1 -0
  713. package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
  714. package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
  715. package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
  716. package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
  717. package/src/widgets/markdown/index.ts +27 -34
  718. package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
  719. package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
  720. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
  721. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
  722. package/src/widgets/upload/DropZone.tsx +10 -13
  723. package/src/widgets/upload/UploadResultCategory.tsx +3 -1
  724. package/src/widgets/upload/UploadSummary.tsx +13 -11
  725. package/tsconfig.dist.json +1 -1
  726. package/lib/esm/core/components/Dropdown.js +0 -16
  727. package/lib/esm/core/components/Dropdown.js.map +0 -1
  728. package/lib/esm/core/components/DropdownList.js +0 -9
  729. package/lib/esm/core/components/DropdownList.js.map +0 -1
  730. package/lib/esm/core/components/RadioGroup.js +0 -34
  731. package/lib/esm/core/components/RadioGroup.js.map +0 -1
  732. package/lib/esm/core/components/SelectStack.js +0 -8
  733. package/lib/esm/core/components/SelectStack.js.map +0 -1
  734. package/lib/esm/core/components/Switch.js +0 -12
  735. package/lib/esm/core/components/Switch.js.map +0 -1
  736. package/lib/esm/widgets/popover/Popover.js +0 -73
  737. package/lib/esm/widgets/popover/Popover.js.map +0 -1
  738. package/lib/esm/widgets/popover/context.js +0 -7
  739. package/lib/esm/widgets/popover/context.js.map +0 -1
  740. package/lib/esm/widgets/popover/index.js +0 -3
  741. package/lib/esm/widgets/popover/index.js.map +0 -1
  742. package/lib/esm/widgets/popover/slots.js +0 -22
  743. package/lib/esm/widgets/popover/slots.js.map +0 -1
  744. package/lib/types/core/components/Dropdown.d.ts +0 -15
  745. package/lib/types/core/components/Dropdown.d.ts.map +0 -1
  746. package/lib/types/core/components/DropdownList.d.ts +0 -13
  747. package/lib/types/core/components/DropdownList.d.ts.map +0 -1
  748. package/lib/types/core/components/RadioGroup.d.ts +0 -26
  749. package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
  750. package/lib/types/core/components/SelectStack.d.ts +0 -13
  751. package/lib/types/core/components/SelectStack.d.ts.map +0 -1
  752. package/lib/types/core/components/Switch.d.ts +0 -11
  753. package/lib/types/core/components/Switch.d.ts.map +0 -1
  754. package/lib/types/widgets/popover/Popover.d.ts +0 -38
  755. package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
  756. package/lib/types/widgets/popover/context.d.ts +0 -8
  757. package/lib/types/widgets/popover/context.d.ts.map +0 -1
  758. package/lib/types/widgets/popover/index.d.ts +0 -3
  759. package/lib/types/widgets/popover/index.d.ts.map +0 -1
  760. package/lib/types/widgets/popover/slots.d.ts +0 -5
  761. package/lib/types/widgets/popover/slots.d.ts.map +0 -1
  762. package/src/core/components/Dropdown.tsx +0 -63
  763. package/src/core/components/DropdownList.tsx +0 -72
  764. package/src/core/components/RadioGroup.tsx +0 -100
  765. package/src/core/components/SelectStack.tsx +0 -63
  766. package/src/core/components/Switch.tsx +0 -30
  767. package/src/widgets/popover/Popover.tsx +0 -171
  768. package/src/widgets/popover/context.ts +0 -15
  769. package/src/widgets/popover/index.ts +0 -2
  770. package/src/widgets/popover/slots.ts +0 -24
@@ -2,6 +2,7 @@ import { Button, Center, VTooltip } from "@vertesia/ui/core";
2
2
  import clsx from "clsx";
3
3
  import { ChevronsDown, ChevronsUp, Maximize, Minus, Plus } from "lucide-react";
4
4
  import { ReactNode, useRef, useEffect, useState, useCallback, KeyboardEvent } from "react";
5
+ import { useUITranslation } from '../../i18n/index.js';
5
6
  import { PdfThumbnailList } from "./PdfPageRenderer";
6
7
 
7
8
  // A4 portrait aspect ratio - used as fallback
@@ -48,6 +49,7 @@ export function PdfPageSlider({
48
49
  compact = false,
49
50
  headerExtra
50
51
  }: PdfPageSliderProps) {
52
+ const { t } = useUITranslation();
51
53
  const ref = useRef<HTMLDivElement>(null);
52
54
  const scrollContainerRef = useRef<HTMLDivElement>(null);
53
55
  const [baseWidth, setBaseWidth] = useState<number | undefined>(undefined);
@@ -300,7 +302,7 @@ export function PdfPageSlider({
300
302
  return (
301
303
  <div ref={ref} className={clsx('flex flex-col items-stretch', compact ? 'gap-y-1' : 'gap-y-2', className)}>
302
304
  <div className={clsx("relative flex items-center justify-center px-2", compact ? "h-6" : "h-9")}>
303
- <Button variant="ghost" size="xs" onClick={goPrev} alt="Previous page">
305
+ <Button variant="ghost" size="xs" onClick={goPrev} alt={t('pdf.previousPage')}>
304
306
  <ChevronsUp className='size-4' />
305
307
  </Button>
306
308
  <div className="absolute left-2 flex items-center gap-x-1">
@@ -350,7 +352,7 @@ export function PdfPageSlider({
350
352
  />
351
353
  </div>
352
354
  <div className={clsx("flex items-center justify-center", compact ? "h-6" : "h-9")}>
353
- <Button variant="ghost" size="xs" onClick={goNext} alt="Next page">
355
+ <Button variant="ghost" size="xs" onClick={goNext} alt={t('pdf.nextPage')}>
354
356
  <ChevronsDown className='size-4' />
355
357
  </Button>
356
358
  </div>
@@ -364,6 +366,7 @@ interface PageNavigatorProps {
364
366
  onChange: (page: number) => void;
365
367
  }
366
368
  function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps) {
369
+ const { t } = useUITranslation();
367
370
  const inputRef = useRef<HTMLInputElement>(null);
368
371
  const [inputValue, setInputValue] = useState(String(currentPage));
369
372
 
@@ -398,7 +401,7 @@ function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps
398
401
 
399
402
  return (
400
403
  <div className="flex items-center gap-1 text-xs text-muted-foreground">
401
- <span>Page</span>
404
+ <span>{t('pdf.page')}</span>
402
405
  <input
403
406
  ref={inputRef}
404
407
  type="text"
@@ -422,9 +425,10 @@ interface ZoomControlsProps {
422
425
  canZoomOut: boolean;
423
426
  }
424
427
  function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZoomOut }: ZoomControlsProps) {
428
+ const { t } = useUITranslation();
425
429
  return (
426
430
  <div className="flex items-center gap-x-0.5">
427
- <VTooltip description="Zoom out" placement="bottom" size="xs">
431
+ <VTooltip description={t('pdf.zoomOut')} placement="bottom" size="xs">
428
432
  <button
429
433
  className={clsx(
430
434
  "p-1 rounded cursor-pointer transition-colors",
@@ -441,7 +445,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
441
445
  <span className="text-xs text-muted-foreground min-w-[32px] text-center">
442
446
  {zoom}%
443
447
  </span>
444
- <VTooltip description="Zoom in" placement="bottom" size="xs">
448
+ <VTooltip description={t('pdf.zoomIn')} placement="bottom" size="xs">
445
449
  <button
446
450
  className={clsx(
447
451
  "p-1 rounded cursor-pointer transition-colors",
@@ -455,7 +459,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
455
459
  <Plus className="size-4" />
456
460
  </button>
457
461
  </VTooltip>
458
- <VTooltip description="Fit to width" placement="bottom" size="xs">
462
+ <VTooltip description={t('pdf.fitToWidth')} placement="bottom" size="xs">
459
463
  <button
460
464
  className={clsx(
461
465
  "p-1 rounded cursor-pointer transition-colors",
@@ -3,6 +3,7 @@ import { Button, Spinner, VTooltip } from "@vertesia/ui/core";
3
3
  import { useUserSession } from "@vertesia/ui/session";
4
4
  import { Maximize2, X } from "lucide-react";
5
5
  import { useEffect, useState } from "react";
6
+ import { useUITranslation } from '../../i18n/index.js';
6
7
  import { PdfPageSlider } from "./PdfPageSlider";
7
8
 
8
9
  interface SimplePdfViewerProps {
@@ -22,6 +23,7 @@ interface SimplePdfViewerProps {
22
23
  * Does not depend on any magic-pdf context.
23
24
  */
24
25
  export function SimplePdfViewer({ object, url, source, className }: SimplePdfViewerProps) {
26
+ const { t } = useUITranslation();
25
27
  const { client } = useUserSession();
26
28
  const [currentPage, setCurrentPage] = useState(1);
27
29
  const [pdfUrl, setPdfUrl] = useState<string>(url || "");
@@ -86,7 +88,7 @@ export function SimplePdfViewer({ object, url, source, className }: SimplePdfVie
86
88
  if (!pdfUrl) {
87
89
  return (
88
90
  <div className="flex items-center justify-center h-full text-muted">
89
- No PDF available
91
+ {t('pdf.noPdfAvailable')}
90
92
  </div>
91
93
  );
92
94
  }
@@ -97,7 +99,7 @@ export function SimplePdfViewer({ object, url, source, className }: SimplePdfVie
97
99
  <div className="fixed inset-0 bg-background z-50 flex flex-col overflow-hidden">
98
100
  {/* Header with close button */}
99
101
  <div className="flex h-9 items-center justify-end shrink-0 bg-sidebar px-2 border-b border-sidebar-border">
100
- <Button variant="ghost" size="xs" onClick={() => setIsFullscreen(false)} alt="Close fullscreen">
102
+ <Button variant="ghost" size="xs" onClick={() => setIsFullscreen(false)} alt={t('pdf.closeFullscreen')}>
101
103
  <X className="size-4" />
102
104
  </Button>
103
105
  </div>
@@ -127,7 +129,7 @@ export function SimplePdfViewer({ object, url, source, className }: SimplePdfVie
127
129
  className={className}
128
130
  compact
129
131
  headerExtra={
130
- <VTooltip description="Fullscreen" placement="bottom" size="xs">
132
+ <VTooltip description={t('pdf.fullscreen')} placement="bottom" size="xs">
131
133
  <button
132
134
  className="p-1 rounded cursor-pointer transition-colors text-muted-foreground hover:text-foreground hover:bg-muted"
133
135
  onClick={() => setIsFullscreen(true)}
@@ -2,6 +2,7 @@ import { Permission, ProjectRoles } from "@vertesia/common"
2
2
  import { ErrorBox, useFetch } from "@vertesia/ui/core"
3
3
  import { UserSession, useUserSession } from "@vertesia/ui/session"
4
4
  import { createContext, useContext, useMemo } from "react"
5
+ import { useUITranslation } from '../../i18n/index.js';
5
6
  import { isAnyOf } from "./helpers"
6
7
 
7
8
  type ListRolesResponse = {
@@ -76,6 +77,7 @@ interface UserPermissionProviderProps {
76
77
  children: React.ReactNode
77
78
  }
78
79
  export function UserPermissionProvider({ children }: UserPermissionProviderProps) {
80
+ const { t } = useUITranslation();
79
81
  const session = useUserSession();
80
82
  const { data, error, isLoading } = useFetch<ListRolesResponse | undefined>(() => {
81
83
  if (session.user) {
@@ -94,7 +96,7 @@ export function UserPermissionProvider({ children }: UserPermissionProviderProps
94
96
  }, [session, data, isLoading]);
95
97
 
96
98
  if (error) {
97
- return <ErrorBox title="Failed to fetch role mappings">{error.message}</ErrorBox>
99
+ return <ErrorBox title={t('store.failedToFetchRoleMappings')}>{error.message}</ErrorBox>
98
100
  }
99
101
 
100
102
  return perms && (
@@ -4,6 +4,16 @@ import { useUserSession } from "@vertesia/ui/session";
4
4
  import { TypeRegistry } from "../types/TypeRegistry.js";
5
5
  import { useTypeRegistry } from "../types/TypeRegistryProvider.js";
6
6
  import { DocumentSearchResults, DocumentSearchResultsWithDropZone } from "../objects/DocumentSearchResults";
7
+ import { ColumnLayout } from "@vertesia/common";
8
+
9
+ const collectionDefaultLayout: ColumnLayout[] = [
10
+ { name: "ID", field: "id", type: "objectId?slice=-7" },
11
+ { name: "Name", field: ".", type: "objectName" },
12
+ { name: "Revision", field: ".", type: "revision" },
13
+ { name: "Type", field: "type.name", type: "string" },
14
+ { name: "Status", field: "status", type: "string" },
15
+ { name: "Updated At", field: "updated_at", type: "date" },
16
+ ];
7
17
 
8
18
 
9
19
  interface BrowseCollectionViewProps {
@@ -44,6 +54,6 @@ function getTableLayout(collection: Collection, typeRegistry?: TypeRegistry | un
44
54
  if (table_layout && table_layout.length > 0) {
45
55
  return table_layout;
46
56
  } else {
47
- return undefined;
57
+ return collectionDefaultLayout;
48
58
  }
49
59
  }
@@ -6,6 +6,7 @@ import dayjs from 'dayjs';
6
6
  import relativeTime from 'dayjs/plugin/relativeTime';
7
7
  import { useState, useEffect } from "react";
8
8
  import { CreateCollectionModal } from "./CreateCollection";
9
+ import { useUITranslation } from '../../../i18n/index.js';
9
10
 
10
11
  dayjs.extend(relativeTime);
11
12
 
@@ -14,6 +15,7 @@ interface CollectionsTableProps {
14
15
  export function CollectionsTable({ }: CollectionsTableProps) {
15
16
  const { client } = useUserSession();
16
17
  const toast = useToast();
18
+ const { t } = useUITranslation();
17
19
  const [collectionToDelete, setCollectionToDelete] = useState<string | undefined>();
18
20
  const [isLoading, setIsLoading] = useState(true);
19
21
  const [isOpen, setOpen] = useState(false);
@@ -28,7 +30,7 @@ export function CollectionsTable({ }: CollectionsTableProps) {
28
30
  }, [collections, error]);
29
31
 
30
32
  if (error) {
31
- return <ErrorBox title='Collections fetch failed'>{error.message}</ErrorBox>
33
+ return <ErrorBox title={t('store.collectionFetchFailed')}>{error.message}</ErrorBox>
32
34
  }
33
35
 
34
36
  const deleteCollection = async () => {
@@ -37,7 +39,7 @@ export function CollectionsTable({ }: CollectionsTableProps) {
37
39
  try {
38
40
  await client.store.collections.delete(collectionToDelete);
39
41
  toast({
40
- title: 'Collection deleted',
42
+ title: t('store.collectionDeleted'),
41
43
  status: 'success',
42
44
  duration: 3000
43
45
  });
@@ -45,7 +47,7 @@ export function CollectionsTable({ }: CollectionsTableProps) {
45
47
  } catch (err: any) {
46
48
  console.error('Failed to delete collection:', err);
47
49
  toast({
48
- title: 'Failed to delete collection',
50
+ title: t('store.failedToDeleteCollection'),
49
51
  description: err.message || 'An error occurred',
50
52
  status: 'error',
51
53
  duration: 5000
@@ -63,9 +65,9 @@ export function CollectionsTable({ }: CollectionsTableProps) {
63
65
  (<Table className="w-full">
64
66
  <thead>
65
67
  <tr>
66
- <th>Name</th >
67
- <th>Type</th>
68
- <th>Created</th>
68
+ <th>{t('type.name')}</th >
69
+ <th>{t('type.type')}</th>
70
+ <th>{t('store.created')}</th>
69
71
  <th></th>
70
72
  </tr >
71
73
  </thead >
@@ -95,8 +97,8 @@ export function CollectionsTable({ }: CollectionsTableProps) {
95
97
  }
96
98
  </TBody>
97
99
  </Table >) :
98
- <EmptyCollection title="No Collections" buttonLabel='New Collections' onClick={() => setOpen(true)}>
99
- Get started by creating a new Collections.
100
+ <EmptyCollection title={t('store.noCollections')} buttonLabel={t('store.newCollections')} onClick={() => setOpen(true)}>
101
+ {t('store.getStartedCollections')}
100
102
  </EmptyCollection>)
101
103
  }
102
104
 
@@ -104,8 +106,8 @@ export function CollectionsTable({ }: CollectionsTableProps) {
104
106
 
105
107
  <ConfirmModal
106
108
  isOpen={!!collectionToDelete}
107
- title="Delete Collection"
108
- content="Are you sure you want to delete this collection? This action cannot be undone."
109
+ title={t('store.deleteCollection')}
110
+ content={t('store.areYouSureDeleteCollection')}
109
111
  onConfirm={deleteCollection}
110
112
  onCancel={() => setCollectionToDelete(undefined)}
111
113
  />
@@ -113,8 +115,9 @@ export function CollectionsTable({ }: CollectionsTableProps) {
113
115
  )
114
116
  }
115
117
 
116
- export function collectionIcon(isDynamic: boolean) {
117
- const tooltipText = isDynamic ? "Dynamic Collection" : "Static Collection";
118
+ export function CollectionIcon({ isDynamic }: { isDynamic: boolean }) {
119
+ const { t } = useUITranslation();
120
+ const tooltipText = isDynamic ? t('store.dynamicCollection') : t('store.staticCollection');
118
121
  const icon = isDynamic ? <Search className="size-5" /> : <FolderClosed className="size-5" />;
119
122
 
120
123
  return (
@@ -122,4 +125,9 @@ export function collectionIcon(isDynamic: boolean) {
122
125
  {icon}
123
126
  </VTooltip>
124
127
  );
128
+ }
129
+
130
+ /** @deprecated Use CollectionIcon component instead */
131
+ export function collectionIcon(isDynamic: boolean) {
132
+ return <CollectionIcon isDynamic={isDynamic} />;
125
133
  }
@@ -4,6 +4,7 @@ import { SelectContentType } from "../types/SelectContentType";
4
4
  import { useNavigate } from "@vertesia/ui/router";
5
5
  import { useUserSession } from "@vertesia/ui/session";
6
6
  import { useState } from "react";
7
+ import { useUITranslation } from '../../../i18n/index.js';
7
8
 
8
9
  interface CreateCollectionFormProps {
9
10
  onClose: () => void;
@@ -13,6 +14,7 @@ interface CreateCollectionFormProps {
13
14
  export function CreateCollectionForm({ onClose, redirect = true, onAddToCollection }: CreateCollectionFormProps) {
14
15
  const navigate = useNavigate();
15
16
  const toast = useToast();
17
+ const { t } = useUITranslation();
16
18
  const [isProcessing, setProcessing] = useState(false);
17
19
  const { client } = useUserSession();
18
20
  const [payload, setPayload] = useState<CreateCollectionPayload>({
@@ -31,8 +33,8 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
31
33
  const onCreate = () => {
32
34
  if (!payload?.name || !payload.name.trim()) {
33
35
  toast({
34
- title: "Name is required",
35
- description: "Please provide a name for the collection",
36
+ title: t('type.nameRequired'),
37
+ description: t('store.pleaseProvideName'),
36
38
  status: "error",
37
39
  duration: 5000,
38
40
  });
@@ -51,7 +53,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
51
53
  .then((r) => {
52
54
  onClose();
53
55
  toast({
54
- title: "Collection created",
56
+ title: t('store.collectionCreated'),
55
57
  description: `Collection "${r.name}" created successfully`,
56
58
  status: "success",
57
59
  duration: 3000,
@@ -64,7 +66,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
64
66
  })
65
67
  .catch((err) => {
66
68
  toast({
67
- title: "Failed to create collection",
69
+ title: t('store.failedToCreateCollection'),
68
70
  description: err.message,
69
71
  status: "error",
70
72
  duration: 5000,
@@ -77,20 +79,20 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
77
79
  <>
78
80
  <ModalBody>
79
81
  <form onSubmit={(e) => e.preventDefault()}>
80
- <FormItem label="Name" required>
82
+ <FormItem label={t('type.name')} required>
81
83
  <Input type="text" value={payload.name || ""} onChange={(value) => setPayloadProp("name", value)} />
82
84
  </FormItem>
83
- <FormItem label="Description" className="mt-2">
85
+ <FormItem label={t('type.description')} className="mt-2">
84
86
  <Textarea
85
87
  value={payload.description || ""}
86
88
  onChange={(ev) => setPayloadProp("description", ev.target.value)}
87
89
  />
88
90
  </FormItem>
89
- <FormItem label="Dynamic Collection" className="mt-2" direction="row" description="Dynamically fetch content for the collection based on a query. If not enabled, then content must be added by users or agents.">
91
+ <FormItem label={t('store.dynamicCollection')} className="mt-2" direction="row" description={t('store.dynamicCollectionDescription')}>
90
92
  <Switch value={payload.dynamic || false} onChange={(value) => setPayloadProp("dynamic", value)} />
91
93
  </FormItem>
92
94
  {!payload.dynamic &&
93
- <FormItem label="Allowed Content Types" className="mt-4" description="Optionally select which content types can be added to the collection. If not set, then all content types are allowed.">
95
+ <FormItem label={t('store.allowedContentTypes')} className="mt-4" description={t('store.allowedContentTypesOptionalDescription')}>
94
96
  <SelectContentType
95
97
  defaultValue={payload.allowed_types || null}
96
98
  onChange={(v) => {
@@ -104,7 +106,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
104
106
  />
105
107
  </FormItem>
106
108
  }
107
- <FormItem label="Type" className="mt-2" description="Optionally select a content type to assign custom properties and data to the collection.">
109
+ <FormItem label={t('store.contentType')} className="mt-2" description={t('store.typeDescription')}>
108
110
  <SelectContentType
109
111
  defaultValue={payload.type || null}
110
112
  onChange={(v) => {
@@ -121,7 +123,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
121
123
  </ModalBody>
122
124
  <ModalFooter>
123
125
  <Button isDisabled={isProcessing} onClick={onCreate}>
124
- Create Collection
126
+ {t('store.createCollection')}
125
127
  </Button>
126
128
  </ModalFooter>
127
129
  </>
@@ -133,9 +135,10 @@ interface CreateCollectionModalProps {
133
135
  onClose: () => void;
134
136
  }
135
137
  export function CreateCollectionModal({ isOpen, onClose }: CreateCollectionModalProps) {
138
+ const { t } = useUITranslation();
136
139
  return (
137
140
  <Modal onClose={onClose} isOpen={isOpen}>
138
- <ModalTitle>Create a Collection</ModalTitle>
141
+ <ModalTitle>{t('store.createACollection')}</ModalTitle>
139
142
  <CreateCollectionForm onClose={onClose} />
140
143
  </Modal>
141
144
  );
@@ -1,10 +1,11 @@
1
- import { Collection, CreateCollectionPayload, JSONSchemaObject } from "@vertesia/common";
1
+ import { Collection, CreateCollectionPayload, getContentTypeRefId, JSONSchemaObject } from "@vertesia/common";
2
2
  import { Button, ErrorBox, FormItem, Input, Panel, Styles, Textarea, useFetch, useToast, useTheme } from "@vertesia/ui/core";
3
3
  import { SharedPropsEditor, SyncMemberHeadsToggle, UserInfo } from "@vertesia/ui/features";
4
4
  import { useUserSession } from "@vertesia/ui/session";
5
5
  import { MonacoEditor, EditorApi, GeneratedForm, ManagedObject, Node } from "@vertesia/ui/widgets";
6
6
  import dayjs from "dayjs";
7
7
  import { useMemo, useRef, useState } from "react";
8
+ import { useUITranslation } from '../../../i18n/index.js';
8
9
  import { SelectContentType, stringifyTableLayout } from "../types";
9
10
 
10
11
  interface UpdateData {
@@ -21,7 +22,8 @@ interface EditCollectionViewProps {
21
22
  refetch: () => void;
22
23
  }
23
24
  export function EditCollectionView({ refetch, collection }: EditCollectionViewProps) {
24
- const typeId = collection.type?.id;
25
+ const { t } = useUITranslation();
26
+ const typeId = collection.type ? getContentTypeRefId(collection.type) : undefined;
25
27
  const tableLayoutRef = useRef<EditorApi | undefined>(undefined);
26
28
  const toast = useToast();
27
29
  const { theme } = useTheme();
@@ -32,7 +34,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
32
34
  description: collection.description || "",
33
35
  query: collection.query ? JSON.stringify(collection.query, null, 2) : "",
34
36
  tags: collection.tags || [],
35
- type: collection.type?.id || "",
37
+ type: collection.type ? getContentTypeRefId(collection.type) : "",
36
38
  allowed_types: collection.allowed_types || [],
37
39
  });
38
40
 
@@ -41,12 +43,12 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
41
43
  }, [collection.table_layout]);
42
44
 
43
45
  const onSubmit = () => {
44
- let query: any = undefined;
46
+ let query: any;
45
47
  try {
46
48
  query = metadata.query ? JSON.parse(metadata.query) : undefined;
47
49
  } catch (err: any) {
48
50
  toast({
49
- title: "Invalid Query JSON",
51
+ title: t('store.invalidQueryJson'),
50
52
  description: err.message,
51
53
  status: "error",
52
54
  duration: 5000,
@@ -64,14 +66,14 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
64
66
  };
65
67
  let error: string | undefined;
66
68
  if (!payload.name) {
67
- error = "Name is required";
69
+ error = t('type.nameRequired');
68
70
  }
69
71
  if (!payload.type) {
70
72
  (payload as any).type = null;
71
73
  }
72
74
  if (error) {
73
75
  toast({
74
- title: "Validation failed",
76
+ title: t('store.validationFailed'),
75
77
  description: error,
76
78
  status: "error",
77
79
  duration: 5000,
@@ -85,7 +87,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
85
87
  payload.table_layout = JSON.parse(layout);
86
88
  } catch (err: any) {
87
89
  toast({
88
- title: "Invalid Table Layout",
90
+ title: t('store.invalidTableLayout'),
89
91
  description: err.message,
90
92
  status: "error",
91
93
  duration: 5000,
@@ -102,15 +104,15 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
102
104
  .then(() => {
103
105
  refetch();
104
106
  toast({
105
- title: "Collection updated",
106
- description: "Collection has been updated successfully",
107
+ title: t('store.collectionUpdated'),
108
+ description: t('store.collectionUpdatedSuccess'),
107
109
  status: "success",
108
110
  duration: 3000,
109
111
  });
110
112
  })
111
113
  .catch((err) => {
112
114
  toast({
113
- title: "Failed to update collection",
115
+ title: t('store.failedToUpdateCollection'),
114
116
  description: err.message,
115
117
  status: "error",
116
118
  duration: 5000,
@@ -130,32 +132,32 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
130
132
 
131
133
  return (
132
134
  <div className="flex flex-col gap-4 py-2">
133
- <Panel title="Configuration"
135
+ <Panel title={t('store.configuration')}
134
136
  action={
135
137
  <Button size="lg" isDisabled={isUpdating} onClick={onSubmit}>
136
- Save
138
+ {t('modal.save')}
137
139
  </Button>
138
140
  }>
139
141
  <div className="flex justify-between mb-2">
140
142
  <div className="w-1/2 gap-2 flex flex-col">
141
- <div className="text-sm font-medium mb-1">Created By</div>
143
+ <div className="text-sm font-medium mb-1">{t('store.createdBy')}</div>
142
144
  <div className="gap-2 flex items-center">
143
145
  <UserInfo userRef={collection.created_by} showTitle />
144
146
  <span>at {dayjs(collection.created_at).format("YYYY-MM-DD HH:mm:ss")}</span>
145
147
  </div>
146
148
  </div>
147
149
  <div className="w-1/2 gap-2 flex flex-col">
148
- <div className="text-sm font-medium mb-1">Updated By</div>
150
+ <div className="text-sm font-medium mb-1">{t('store.updatedBy')}</div>
149
151
  <div className="gap-2 flex items-center">
150
152
  <UserInfo userRef={collection.updated_by} showTitle />
151
153
  <span>at {dayjs(collection.updated_at).format("YYYY-MM-DD HH:mm:ss")}</span>
152
154
  </div>
153
155
  </div>
154
156
  </div>
155
- <FormItem label="Name" required>
157
+ <FormItem label={t('type.name')} required>
156
158
  <Input value={metadata.name} onChange={(v) => setField("name", v)} />
157
159
  </FormItem>
158
- <FormItem label="Description">
160
+ <FormItem label={t('type.description')}>
159
161
  <Textarea
160
162
  value={metadata.description}
161
163
  onChange={(e) => setField("description", e.target.value)}
@@ -163,7 +165,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
163
165
  </FormItem>
164
166
  {
165
167
  !collection.dynamic &&
166
- <FormItem label="Allowed Content Types" description="Select which content types can be added to the collection. If not set, then all content types are allowed.">
168
+ <FormItem label={t('store.allowedContentTypes')} description={t('store.allowedContentTypesSelectDescription')}>
167
169
  <SelectContentType
168
170
  defaultValue={metadata.allowed_types || null}
169
171
  onChange={(v) => {
@@ -179,7 +181,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
179
181
  }
180
182
  {
181
183
  collection.dynamic && (
182
- <FormItem label="Query" description="Define the query to dynamically fetch content for the collection.">
184
+ <FormItem label={t('store.query')} description={t('store.queryDescription')}>
183
185
  <Textarea
184
186
  className={Styles.INPUT}
185
187
  value={metadata.query}
@@ -188,7 +190,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
188
190
  </FormItem>
189
191
  )
190
192
  }
191
- <FormItem label="Table Layout" description="Define a custom layout for displaying the collection in tables." className="h-[200px]">
193
+ <FormItem label={t('store.tableLayout')} description={t('store.tableLayoutDescription')} className="h-[200px]">
192
194
  <MonacoEditor
193
195
  className="border-1 rounded-md border-border"
194
196
  value={tableLayoutValue}
@@ -197,7 +199,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
197
199
  theme={theme === 'dark' ? 'vs-dark' : 'vs'}
198
200
  />
199
201
  </FormItem>
200
- <FormItem label="Type" description="Select a content type to assign custom properties and data to the collection.">
202
+ <FormItem label={t('store.contentType')} description={t('store.typeSelectDescription')}>
201
203
  <SelectContentType
202
204
  defaultValue={metadata.type || null}
203
205
  onChange={(v) => {
@@ -231,17 +233,18 @@ interface PropertiesEditorProps {
231
233
  collection: Collection;
232
234
  }
233
235
  function PropertiesEditor({ typeId, collection }: PropertiesEditorProps) {
236
+ const { t } = useUITranslation();
234
237
  const [formData, setFormData] = useState<JSONSchemaObject>({});
235
238
  const toast = useToast();
236
239
  const { client } = useUserSession();
237
240
  const [isUpdating, setIsUpdating] = useState(false);
238
241
 
239
- const { data: type, error } = useFetch(() => client.store.types.retrieve(typeId), [typeId]);
242
+ const { data: type, error } = useFetch(() => client.store.types.catalog.resolve(typeId), [typeId]);
240
243
  const schema = type?.object_schema || {};
241
244
  const object = useMemo(() => new ManagedObject(schema, collection.properties || {}), [schema, collection.properties]);
242
245
 
243
246
  if (error) {
244
- return <ErrorBox title="Failed to load type">{error.message}</ErrorBox>;
247
+ return <ErrorBox title={t('store.failedToLoadType')}>{error.message}</ErrorBox>;
245
248
  }
246
249
 
247
250
  if (!type) {
@@ -259,15 +262,15 @@ function PropertiesEditor({ typeId, collection }: PropertiesEditorProps) {
259
262
  .update(collection.id, payload)
260
263
  .then(() => {
261
264
  toast({
262
- title: "Collection properties updated",
263
- description: "Collection has been updated successfully",
265
+ title: t('store.collectionPropertiesUpdated'),
266
+ description: t('store.collectionUpdatedSuccess'),
264
267
  status: "success",
265
268
  duration: 3000,
266
269
  });
267
270
  })
268
271
  .catch((err) => {
269
272
  toast({
270
- title: "Failed to update collection properties",
273
+ title: t('store.failedToUpdateCollectionProperties'),
271
274
  description: err.message,
272
275
  status: "error",
273
276
  duration: 5000,
@@ -285,9 +288,9 @@ function PropertiesEditor({ typeId, collection }: PropertiesEditorProps) {
285
288
  }
286
289
 
287
290
  return (
288
- <Panel title="Properties" action={
291
+ <Panel title={t('store.properties')} action={
289
292
  <Button size="lg" isLoading={isUpdating} type="submit" onClick={() => _onSave(formData)}>
290
- Save
293
+ {t('modal.save')}
291
294
  </Button>}
292
295
  >
293
296
  <GeneratedForm object={object} onChange={onDataChanged} />