@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,12 +2,14 @@ import { TransientToken, UserInviteTokenData } from "@vertesia/common"
2
2
  import { Button, Modal, ModalBody, ModalTitle } from "@vertesia/ui/core"
3
3
  import { useEffect, useState } from "react"
4
4
  import { useUserSession } from "@vertesia/ui/session"
5
+ import { useUITranslation } from '../../i18n/index.js'
5
6
 
6
7
 
7
8
  export function InviteAcceptModal() {
8
9
 
9
10
  const session = useUserSession()
10
11
  const { client, account } = session;
12
+ const { t } = useUITranslation()
11
13
  const [showModal, setShowModal] = useState(false)
12
14
  const [invites, setInvites] = useState<TransientToken<UserInviteTokenData>[]>([])
13
15
 
@@ -38,6 +40,7 @@ export function InviteAcceptModal() {
38
40
  const accept = async (invite: TransientToken<UserInviteTokenData>) => {
39
41
  await client.account.acceptInvite(invite.id);
40
42
  await session.fetchAccounts();
43
+ await session.fetchProjects(invite.data.account.id);
41
44
  const remainingInvites = invites.filter(i => i.id !== invite.id)
42
45
 
43
46
  const notLegacyInvites = remainingInvites.filter(i => i.data.account);
@@ -71,7 +74,7 @@ export function InviteAcceptModal() {
71
74
  {invite.data.invited_by &&<div className="text-xs">by {invite.data.invited_by.name ?? invite.data.invited_by}</div>}
72
75
  </div>
73
76
  <div className="flex flex-col gap-4">
74
- <Button size={'xs'} onClick={() => accept(invite)}>Accept</Button> <Button size={'xs'} variant="secondary" onClick={() => reject(invite)}>Reject</Button>
77
+ <Button size={'xs'} onClick={() => accept(invite)}>{t('login.accept')}</Button> <Button size={'xs'} variant="secondary" onClick={() => reject(invite)}>{t('login.reject')}</Button>
75
78
  </div>
76
79
  </div>)
77
80
  })
@@ -79,7 +82,7 @@ export function InviteAcceptModal() {
79
82
  return (
80
83
  <div>
81
84
  <Modal isOpen={showModal} onClose={closeModal}>
82
- <ModalTitle>Review Invites</ModalTitle>
85
+ <ModalTitle>{t('login.reviewInvites')}</ModalTitle>
83
86
  <ModalBody>
84
87
  <div className="text-sm pb-4">
85
88
  You have received the following invites to join other accounts.
@@ -1,18 +1,16 @@
1
1
  import { OAuthProvider, signInWithRedirect } from "firebase/auth";
2
2
  import { getFirebaseAuth } from "@vertesia/ui/session";
3
3
  import { Button } from "@vertesia/ui/core";
4
+ import { useUITranslation } from "@vertesia/ui/i18n";
4
5
 
5
6
  interface GoogleSignInButtonProps {
6
7
  redirectTo?: string;
7
8
  }
8
- export default function MicrosoftSignInButton({ redirectTo }: GoogleSignInButtonProps) {
9
+ export default function MicrosoftSignInButton({ redirectTo: _redirectTo }: GoogleSignInButtonProps) {
10
+ const { t } = useUITranslation();
9
11
 
10
12
  const signIn = () => {
11
13
  localStorage.removeItem("tenantName");
12
- let redirectPath = redirectTo || window.location.pathname || '/';
13
- if (redirectPath[0] !== '/') {
14
- redirectPath = '/' + redirectPath;
15
- }
16
14
  const provider = new OAuthProvider('microsoft.com');
17
15
  provider.addScope('profile');
18
16
  provider.addScope('email');
@@ -24,7 +22,7 @@ export default function MicrosoftSignInButton({ redirectTo }: GoogleSignInButton
24
22
  onClick={signIn}
25
23
  className="w-full py-5 flex rounded-lg hover:shadow-sm transition duration-150 text-center">
26
24
  <img className="size-6" src="https://learn.microsoft.com/en-us/entra/identity-platform/media/howto-add-branding-in-apps/ms-symbollockup_mssymbol_19.svg" loading="lazy" alt="microsoft logo" />
27
- <span className="text-sm font-semibold">Continue with Microsoft</span>
25
+ <span className="text-sm font-semibold">{t('auth.continueWithMicrosoft')}</span>
28
26
  </Button>
29
27
  );
30
28
  }
@@ -1,7 +1,9 @@
1
1
  import { SignupData, SignupPayload } from "@vertesia/common";
2
2
  import { Button, useSafeLayoutEffect } from "@vertesia/ui/core";
3
3
  import { Env } from "@vertesia/ui/env";
4
+ import { useUITranslation } from "@vertesia/ui/i18n";
4
5
  import { UserNotFoundError, useUserSession, useUXTracking } from "@vertesia/ui/session";
6
+ import { RegionTag } from "@vertesia/ui/layout";
5
7
  import clsx from "clsx";
6
8
  import { useEffect, useState } from "react";
7
9
  import EnterpriseSigninButton from "./EnterpriseSigninButton";
@@ -25,6 +27,7 @@ export function SigninScreen({ allowedPrefix, isNested = false, lightLogo, darkL
25
27
  }
26
28
 
27
29
  function SigninScreenImpl({ isNested = false, lightLogo, darkLogo }: SigninScreenProps) {
30
+ const { t } = useUITranslation();
28
31
  const { isLoading, user, authError } = useUserSession();
29
32
 
30
33
  return !isLoading && !user ? (
@@ -39,13 +42,14 @@ function SigninScreenImpl({ isNested = false, lightLogo, darkLogo }: SigninScree
39
42
  >
40
43
 
41
44
  <StandardSigninPanel authError={authError} lightLogo={lightLogo} darkLogo={darkLogo} />
42
- <div className="flex gap-x-6 mt-10 justify-center text-muted">
45
+ <div className="flex gap-x-6 mt-10 justify-center items-center text-muted">
43
46
  <a href="https://vertesiahq.com/privacy" className="text-sm">
44
- Privacy Policy
47
+ {t('auth.privacyPolicy')}
45
48
  </a>
46
49
  <a href="https://vertesiahq.com/terms" className="text-sm">
47
- Terms of Service
50
+ {t('auth.termsOfService')}
48
51
  </a>
52
+ <RegionTag />
49
53
  </div>
50
54
  </div>
51
55
  </div>
@@ -57,6 +61,7 @@ function StandardSigninPanel({ authError, darkLogo, lightLogo }: {
57
61
  darkLogo?: string,
58
62
  lightLogo?: string
59
63
  }) {
64
+ const { t } = useUITranslation();
60
65
  const [signupData, setSignupData] = useState<SignupData | undefined>(undefined);
61
66
  const [collectSignupData, setCollectSignupData] = useState(false);
62
67
  const { signOut } = useUserSession();
@@ -109,8 +114,8 @@ function StandardSigninPanel({ authError, darkLogo, lightLogo }: {
109
114
 
110
115
  {signupData && (
111
116
  <div className="my-6">
112
- Need to make a change?{" "}
113
- <Button onClick={goToSignup}> Go back</Button>
117
+ {t('auth.needToMakeChange')}{" "}
118
+ <Button onClick={goToSignup}> {t('auth.goBack')}</Button>
114
119
  </div>
115
120
  )}
116
121
  <div className="flex flex-col space-y-2">
@@ -120,12 +125,12 @@ function StandardSigninPanel({ authError, darkLogo, lightLogo }: {
120
125
 
121
126
  <div className="flex flex-col">
122
127
  <div className="my-4">
123
- <h2 className="text-2xl font-bold text-center">Log in or Sign up</h2>
128
+ <h2 className="text-2xl font-bold text-center">{t('auth.logInOrSignUp')}</h2>
124
129
  </div>
125
130
  <div className="max-w-2xl text-center my-2 px-2">
126
- First time here? No problem, it&apos;s free to try!
131
+ {t('auth.firstTimeMessage')}
127
132
  <br />
128
- We&apos;ll just ask you a couple of questions next and you&apos;ll be on your way.
133
+ {t('auth.firstTimeDetails')}
129
134
  </div>
130
135
  <div className="flex items-center flex-col">
131
136
  <div className="py-4 w-70">
@@ -135,7 +140,7 @@ function StandardSigninPanel({ authError, darkLogo, lightLogo }: {
135
140
  </div>
136
141
  <div className="flex items-center flex-row w-70 text-muted">
137
142
  <hr className="w-full" />
138
- <div className="px-2 text-xs">OR</div>
143
+ <div className="px-2 text-xs">{t('auth.or')}</div>
139
144
  <hr className="w-full" />
140
145
  </div>
141
146
  <div className="py-4 w-70">
@@ -145,12 +150,12 @@ function StandardSigninPanel({ authError, darkLogo, lightLogo }: {
145
150
  {authError && !(authError instanceof UserNotFoundError) && (
146
151
  <div className="text-center">
147
152
  <div className="">
148
- Sorry, we have not been able to sign you in.
153
+ {t('auth.signInError')}
149
154
  <br />
150
- Please try again or contact
155
+ {t('auth.signInErrorContact')}
151
156
  <a className='text-info mx-1' href="mailto:support@vertesiahq.com">support@vertesiahq.com</a>
152
- if it persists.
153
- <pre className="mt-2">Error: {authError.message}</pre>
157
+ {t('auth.signInErrorPersists')}
158
+ <pre className="mt-2">{t('auth.error', { message: authError.message })}</pre>
154
159
  </div>
155
160
  </div>
156
161
  )}
@@ -1,8 +1,9 @@
1
1
  import { SignupData } from "@vertesia/common";
2
- import { Button, Input, SelectBox, SelectStack } from "@vertesia/ui/core";
2
+ import { Button, Input, RadioGroup, SelectBox } from "@vertesia/ui/core";
3
3
  import { User } from "firebase/auth";
4
4
  import { useEffect, useState } from "react";
5
5
  import { getFirebaseAuth } from "@vertesia/ui/session";
6
+ import { useUITranslation } from '../../i18n/index.js';
6
7
 
7
8
 
8
9
  interface CompanySizeOption {
@@ -10,41 +11,13 @@ interface CompanySizeOption {
10
11
  label: string;
11
12
  }
12
13
 
13
- const companySizeOptions: CompanySizeOption[] = [
14
- { id: 1, label: "1-10 employees" },
15
- { id: 11, label: "11-100 employees" },
16
- { id: 101, label: "101-1000 employees" },
17
- { id: 1001, label: "1001-5000 employees" },
18
- { id: 5001, label: "5000+ employees" },
19
- ];
20
-
21
- const accountTypeOptions = [
22
- {
23
- id: "personal",
24
- label: "Personal",
25
- description: "For personal use, or for a small team.",
26
- },
27
- {
28
- id: "company",
29
- label: "Company",
30
- description: "For a company or organization.",
31
- },
32
- ];
33
-
34
- const projectMaturityOptions = [
35
- { id: "testing", label: "Just Testing or Evaluating LLMs" },
36
- { id: "exploring", label: "Actively Exploring LLMs on a Project" },
37
- { id: "using", label: "Already Using LLMs in Production" },
38
- { id: "migrating", label: "Migrating to different LLMs" },
39
- { id: "other", label: "Other" },
40
- ];
41
-
42
14
  interface SignupFormProps {
43
15
  onSignup: (data: SignupData, fbToken: string) => void;
44
16
  goBack: () => void;
45
17
  }
46
18
 
47
19
  export default function SignupForm({ onSignup, goBack }: SignupFormProps) {
20
+ const { t } = useUITranslation();
48
21
  const [accountType, setAccountType] = useState<string | undefined>(undefined);
49
22
  const [companySize, setCompanySize] = useState<CompanySizeOption | undefined>(undefined);
50
23
  const [companyName, setCompanyName] = useState<string | undefined>(undefined);
@@ -55,6 +28,35 @@ export default function SignupForm({ onSignup, goBack }: SignupFormProps) {
55
28
  const [error, setError] = useState<string | undefined>(undefined);
56
29
  const isCompany = accountType === "company";
57
30
 
31
+ const companySizeOptions: CompanySizeOption[] = [
32
+ { id: 1, label: t('signup.size1to10') },
33
+ { id: 11, label: t('signup.size11to100') },
34
+ { id: 101, label: t('signup.size101to1000') },
35
+ { id: 1001, label: t('signup.size1001to5000') },
36
+ { id: 5001, label: t('signup.size5000plus') },
37
+ ];
38
+
39
+ const accountTypeOptions = [
40
+ {
41
+ id: "personal",
42
+ label: t('signup.personal'),
43
+ description: t('signup.personalDescription'),
44
+ },
45
+ {
46
+ id: "company",
47
+ label: t('signup.company'),
48
+ description: t('signup.companyDescription'),
49
+ },
50
+ ];
51
+
52
+ const projectMaturityOptions = [
53
+ { id: "testing", label: t('signup.justTesting') },
54
+ { id: "exploring", label: t('signup.activelyExploring') },
55
+ { id: "using", label: t('signup.alreadyUsing') },
56
+ { id: "migrating", label: t('signup.migratingLLMs') },
57
+ { id: "other", label: t('signup.other') },
58
+ ];
59
+
58
60
  useEffect(() => {
59
61
  const user = getFirebaseAuth().currentUser;
60
62
  if (!user) {
@@ -66,16 +68,16 @@ export default function SignupForm({ onSignup, goBack }: SignupFormProps) {
66
68
 
67
69
  const isValid = () => {
68
70
  if (!accountType) {
69
- setError("Please select an account type");
71
+ setError(t('signup.pleaseSelectAccountType'));
70
72
  return false;
71
73
  }
72
74
  if (isCompany && !companyName) {
73
- setError("Please enter an organization name");
75
+ setError(t('signup.pleaseEnterOrgName'));
74
76
  return false;
75
77
  }
76
78
 
77
79
  if (isCompany && !companySize) {
78
- setError("Please select a company size");
80
+ setError(t('signup.pleaseSelectCompanySize'));
79
81
  return false;
80
82
  }
81
83
 
@@ -112,16 +114,14 @@ export default function SignupForm({ onSignup, goBack }: SignupFormProps) {
112
114
  <div className="flex flex-col space-y-2">
113
115
  <div className="prose">
114
116
  <p className="prose text-sm text-muted pt-4">
115
- Welcome to Vertesia, {fbUser?.displayName} ({fbUser?.email}).
116
- Please tell us a little bit about yourself and you&apos;ll be on your way.
117
- No credit card is required.
117
+ {t('signup.welcomeMessage', { name: fbUser?.displayName, email: fbUser?.email })}
118
118
  </p>
119
119
  {error &&
120
120
  <div className="text-destructive">{error}</div>
121
121
  }
122
122
  </div>
123
- <FormItem label="Account Type">
124
- <SelectStack
123
+ <FormItem label={t('signup.accountType')}>
124
+ <RadioGroup
125
125
  options={accountTypeOptions}
126
126
  selected={accountTypeOptions.find((option) => option.id === accountType)}
127
127
  onSelect={(option) => setAccountType(option.id)}
@@ -129,38 +129,38 @@ export default function SignupForm({ onSignup, goBack }: SignupFormProps) {
129
129
  </FormItem>
130
130
  {isCompany &&
131
131
  <>
132
- <FormItem label="Company Size">
132
+ <FormItem label={t('signup.companySize')}>
133
133
  <SelectBox className="w-full border border-accent bg-muted"
134
134
  value={companySize}
135
135
  options={companySizeOptions}
136
136
  onChange={setCompanySize}
137
137
  optionLabel={(option) => option?.label}
138
- placeholder='Select Company Size'
138
+ placeholder={t('signup.selectCompanySize')}
139
139
  />
140
140
  </FormItem>
141
- <FormItem label="Company Name">
141
+ <FormItem label={t('signup.companyName')}>
142
142
  <Input value={companyName} onChange={setCompanyName} type="text" required={true} />
143
143
  </FormItem>
144
- <FormItem label="Company Website">
144
+ <FormItem label={t('signup.companyWebsite')}>
145
145
  <Input value={companyWebsite} onChange={setCompanyWebsite} type="text" />
146
146
  </FormItem>
147
147
  </>
148
148
  }
149
- <FormItem label="Project Maturity">
149
+ <FormItem label={t('signup.projectMaturity')}>
150
150
  <SelectBox className="w-full border border-accent bg-muted"
151
151
  options={projectMaturityOptions}
152
152
  value={projectMaturityOptions.find((option) => option.id === projectMaturity)}
153
153
  optionLabel={(option) => option?.label}
154
- placeholder='Select Project Maturity'
154
+ placeholder={t('signup.selectProjectMaturity')}
155
155
  onChange={(option) => setProjectMaturity(option?.id)}
156
156
  />
157
157
  </FormItem>
158
158
  <div className="pt-8 flex flex-col">
159
159
  <Button variant="primary" onClick={onSubmit} size="xl">
160
- <span className="text-lg">Sign Up</span>
160
+ <span className="text-lg">{t('signup.signUp')}</span>
161
161
  </Button>
162
162
  <Button variant="ghost" size="xl" className="mt-4" onClick={goBack}>
163
- <span className="">Wrong account, go back</span>
163
+ <span className="">{t('signup.wrongAccountGoBack')}</span>
164
164
  </Button>
165
165
  </div>
166
166
  </div>
@@ -4,6 +4,7 @@ import { Env } from "@vertesia/ui/env"
4
4
  import { useLocation } from "@vertesia/ui/router"
5
5
  import { fetchComposableTokenFromFirebaseToken, useUserSession } from '@vertesia/ui/session'
6
6
  import { useState } from 'react'
7
+ import { useUITranslation } from '../../i18n/index.js'
7
8
 
8
9
  interface ProfileData {
9
10
  profile?: string
@@ -81,13 +82,14 @@ export function TerminalLogin() {
81
82
  const location = useLocation()
82
83
  const clientInfo = getClientInfo(location)
83
84
  const toast = useToast()
85
+ const { t } = useUITranslation()
84
86
 
85
87
  const onAccept = async (data: ProfileData) => {
86
88
  if (!clientInfo) return
87
89
  if (!data.profile) {
88
90
  toast({
89
- title: 'Profile is required',
90
- description: 'Please enter a profile name to save the client authorization',
91
+ title: t('login.terminal.profileRequired'),
92
+ description: t('login.terminal.profileRequiredDesc'),
91
93
  status: 'error',
92
94
  duration: 2000
93
95
  })
@@ -95,8 +97,8 @@ export function TerminalLogin() {
95
97
  }
96
98
  if (!data.account) {
97
99
  toast({
98
- title: 'Account is required',
99
- description: 'Please select an account to authorize the client to access the ComposablePrompts servers',
100
+ title: t('login.terminal.accountRequired'),
101
+ description: t('login.terminal.accountRequiredDesc'),
100
102
  status: 'error',
101
103
  duration: 2000
102
104
  })
@@ -104,8 +106,8 @@ export function TerminalLogin() {
104
106
  }
105
107
  if (!data.project) {
106
108
  toast({
107
- title: 'Project is required',
108
- description: 'Please select a project to authorize the client to access the ComposablePrompts servers',
109
+ title: t('login.terminal.projectRequired'),
110
+ description: t('login.terminal.projectRequiredDesc'),
109
111
  status: 'error',
110
112
  duration: 2000
111
113
  })
@@ -133,7 +135,7 @@ export function TerminalLogin() {
133
135
  setPayload(payload)
134
136
  } else {
135
137
  toast({
136
- title: 'Failed to get composable token',
138
+ title: t('login.terminal.failedToGetToken'),
137
139
  status: 'error',
138
140
  duration: 5000
139
141
  })
@@ -144,7 +146,7 @@ export function TerminalLogin() {
144
146
  setPayload(payload)
145
147
  } else {
146
148
  toast({
147
- title: 'Error authorizing client',
149
+ title: t('login.terminal.errorAuthorizingClient'),
148
150
  description: err.message,
149
151
  status: 'error',
150
152
  duration: 5000
@@ -155,7 +157,7 @@ export function TerminalLogin() {
155
157
 
156
158
  const getPageContent = () => {
157
159
  if (!clientInfo) {
158
- return <ErrorBox title='Invalid request'>This page should be called by a terminal client to authenticate against the ComposablePrompts servers</ErrorBox>
160
+ return <ErrorBox title={t('login.terminal.invalidRequest')}>{t('login.terminal.invalidRequestDesc')}</ErrorBox>
159
161
  }
160
162
 
161
163
  return payload
@@ -177,19 +179,19 @@ interface AuthAcceptScreenProps {
177
179
  function AuthAcceptScreen({ onAccept, clientInfo }: Readonly<AuthAcceptScreenProps>) {
178
180
  const { client, user } = useUserSession()
179
181
  const { data: allProjects, error } = useFetch(() => user ? client.projects.list() : Promise.resolve([]), [user])
180
-
182
+ const { t } = useUITranslation()
181
183
 
182
184
  if (error) {
183
- return <ErrorBox title='Error loading projects'>{error.message}</ErrorBox>
185
+ return <ErrorBox title={t('login.terminal.errorLoadingProjects')}>{error.message}</ErrorBox>
184
186
  }
185
187
 
186
188
  const getEnvironmentName = () => {
187
189
  if (Env.isLocalDev) {
188
- return "Local Dev"
190
+ return t('login.terminal.envLocalDev')
189
191
  } else if (Env.isDev) {
190
- return "Staging"
192
+ return t('login.terminal.envStaging')
191
193
  }
192
- return "Production"
194
+ return t('login.terminal.envProduction')
193
195
  }
194
196
 
195
197
  const envName = getEnvironmentName()
@@ -201,12 +203,12 @@ function AuthAcceptScreen({ onAccept, clientInfo }: Readonly<AuthAcceptScreenPro
201
203
  Authorizing client on {envName} environment.
202
204
  </div>
203
205
  <div className='mb-2 text-md text-muted-foreground'>
204
- <div>A client app wants authorization to access the composable prompt servers in your name.</div>
206
+ <div>{t('login.terminal.clientWantsAuth')}</div>
205
207
  <div>The client app code is <b className="text-foreground">{clientInfo.code}</b>. You can check if the code is correct in the terminal.</div>
206
208
  </div>
207
209
  <div className='mb-2 text-sm text-muted-foreground'>
208
- <div>You must choose the target account and project for the client to access.</div>
209
- <div>Also, enter a profile name that will be used to save the authorization in your client configuration.</div>
210
+ <div>{t('login.terminal.chooseAccountProject')}</div>
211
+ <div>{t('login.terminal.profileNameNote')}</div>
210
212
  </div>
211
213
  </div>
212
214
  <ProfileForm onAccept={onAccept} allProjects={allProjects} data={clientInfo} />
@@ -216,12 +218,13 @@ function AuthAcceptScreen({ onAccept, clientInfo }: Readonly<AuthAcceptScreenPro
216
218
 
217
219
  function AuthDoneScreen({ payload, error }: Readonly<{ payload: LoginResult, error?: Error }>) {
218
220
  const toast = useToast()
221
+ const { t } = useUITranslation()
219
222
  const onCopy = () => {
220
223
  if (payload) {
221
224
  navigator.clipboard.writeText(JSON.stringify(payload))
222
225
  toast({
223
- title: 'Authentication Payload copied',
224
- description: error ? 'You can paste the authentication payload in the terminal to authenticate the client.' : 'You can close the page now.',
226
+ title: t('login.terminal.authPayloadCopied'),
227
+ description: error ? t('login.terminal.authPayloadCopiedWithError', { error: error.message }) : t('login.terminal.authPayloadCopiedSuccess'),
225
228
  status: 'success',
226
229
  duration: 5000
227
230
  })
@@ -233,14 +236,12 @@ function AuthDoneScreen({ payload, error }: Readonly<{ payload: LoginResult, err
233
236
  {
234
237
  error ?
235
238
  <div>
236
- <ErrorBox title='Failed to send the authorization token to the cli tool'>This can happen due to security checks on Safari. The error is &quot;{error.message}&quot;</ErrorBox>
237
- <div>Don&apos;t worry, you can still authenticate the cli tool by pasting the authentication token in the terminal.
238
- You can close this page.</div>
239
+ <ErrorBox title={t('login.terminal.failedToSendToken')}>{t('login.terminal.failedToSendTokenDesc', { error: error.message })}</ErrorBox>
239
240
  </div>
240
- : <div>The client is authenticated. You can close this page.</div>
241
+ : <div>{t('login.terminal.clientAuthenticated')}</div>
241
242
  }
242
243
  <Center className="mt-4">
243
- <Button variant='secondary' onClick={onCopy}>Copy the Authentication Payload</Button>
244
+ <Button variant='secondary' onClick={onCopy}>{t('login.terminal.copyAuthPayload')}</Button>
244
245
  </Center>
245
246
  </div>
246
247
  )
@@ -253,6 +254,7 @@ interface ProfileFormProps {
253
254
  }
254
255
  function ProfileForm({ allProjects, data, onAccept }: Readonly<ProfileFormProps>) {
255
256
  const { accounts, account, project } = useUserSession()
257
+ const { t } = useUITranslation()
256
258
  const [currentData, setCurrentData] = useState<ProfileData>(() => ({
257
259
  profile: data.profile,
258
260
  account: data.account ?? account?.id,
@@ -276,22 +278,22 @@ function ProfileForm({ allProjects, data, onAccept }: Readonly<ProfileFormProps>
276
278
  return (
277
279
  <div className='w-1/3'>
278
280
  <div className="mb-4 flex flex-col gap-2">
279
- <span className="font-semibold text-muted-foreground">Profile Name</span>
281
+ <span className="font-semibold text-muted-foreground">{t('login.terminal.profileName')}</span>
280
282
  <Input type='text' value={currentData.profile} onChange={onChangeProfile} />
281
283
  </div>
282
284
  <div className="mb-4 flex flex-col gap-2">
283
- <span className="font-semibold text-muted-foreground">Account</span>
285
+ <span className="font-semibold text-muted-foreground">{t('login.terminal.account')}</span>
284
286
  <SelectAccount value={currentData.account} onChange={onChangeAccount} accounts={accounts || []} />
285
287
  </div>
286
288
  <div className="mb-4 flex flex-col gap-2">
287
- <span className="font-semibold text-muted-foreground">Project</span>
289
+ <span className="font-semibold text-muted-foreground">{t('login.terminal.project')}</span>
288
290
  <SelectProject value={currentData.project} onChange={onChangeProject} projects={projects} />
289
291
  </div>
290
292
  <div className='mb-4 text-sm text-attention'>
291
- <b>Note:</b> If your browser asks for permission to access your local network, please allow it. This is required to send the authorization token back to the CLI tool. If not, you will need to copy/paste the token manually in your terminal.
293
+ {t('login.terminal.browserPermissionNote')}
292
294
  </div>
293
295
  <div>
294
- <Button size='xl' onClick={() => onAccept(currentData)}>Authorize Client</Button>
296
+ <Button size='xl' onClick={() => onAccept(currentData)}>{t('login.terminal.authorizeClient')}</Button>
295
297
  </div>
296
298
  </div>
297
299
  )
@@ -303,6 +305,7 @@ interface SelectAccountProps {
303
305
  onChange: (value: AccountRef) => void
304
306
  }
305
307
  function SelectAccount({ value, accounts, onChange }: Readonly<SelectAccountProps>) {
308
+ const { t } = useUITranslation()
306
309
  const _onChange = (value: AccountRef) => {
307
310
  onChange(value)
308
311
  }
@@ -312,7 +315,7 @@ function SelectAccount({ value, accounts, onChange }: Readonly<SelectAccountProp
312
315
  onChange={_onChange}
313
316
  by="id"
314
317
  optionLabel={(option) => option.name}
315
- placeholder='Select Account'
318
+ placeholder={t('login.terminal.selectAccount')}
316
319
  />
317
320
  }
318
321
 
@@ -322,6 +325,7 @@ interface SelectProjectProps {
322
325
  onChange: (value: ProjectRef) => void
323
326
  }
324
327
  function SelectProject({ value, projects, onChange }: Readonly<SelectProjectProps>) {
328
+ const { t } = useUITranslation()
325
329
  const _onChange = (value: ProjectRef) => {
326
330
  onChange(value)
327
331
  }
@@ -331,7 +335,7 @@ function SelectProject({ value, projects, onChange }: Readonly<SelectProjectProp
331
335
  value={projects.find(p => p.id === value)}
332
336
  options={projects}
333
337
  optionLabel={(option) => option.name}
334
- placeholder='Select Project'
338
+ placeholder={t('login.terminal.selectProject')}
335
339
  onChange={_onChange} />
336
340
  )
337
341
  }
@@ -5,6 +5,7 @@ import { useUserSession } from "@vertesia/ui/session";
5
5
  // Package version is now passed as prop from the consuming application
6
6
  import { Check, CopyIcon } from "lucide-react";
7
7
  import { useState } from "react";
8
+ import { useUITranslation } from '../../i18n/index.js';
8
9
 
9
10
  export function InfoItems({ title, value }: { title: string, value: string }) {
10
11
  function copyToClipboard(value: string) {
@@ -32,6 +33,7 @@ export function InfoItems({ title, value }: { title: string, value: string }) {
32
33
  }
33
34
 
34
35
  export default function InfoList() {
36
+ const { t } = useUITranslation();
35
37
 
36
38
  const session = useUserSession();
37
39
  const { account, project, client, authToken } = session;
@@ -42,27 +44,27 @@ export default function InfoList() {
42
44
  const tabs = [
43
45
  {
44
46
  name: 'user',
45
- label: 'User',
47
+ label: t('user.user'),
46
48
  content:
47
49
  <div className="space-y-1 p-2">
48
- <InfoItems title="Organization ID" value={account?.id ?? 'Unknown'} />
49
- <InfoItems title="Project ID" value={project?.id ?? 'Unknown'} />
50
- <InfoItems title="User ID" value={authToken?.sub ?? 'Unknown'} />
51
- <InfoItems title="Organization Roles" value={authToken?.account_roles?.join(',') ?? 'Unknown'} />
52
- <InfoItems title="Project Roles" value={authToken?.project_roles?.join(',') ?? 'Unknown'} />
50
+ <InfoItems title={t('user.organizationId')} value={account?.id ?? t('user.unknown')} />
51
+ <InfoItems title={t('user.projectId')} value={project?.id ?? t('user.unknown')} />
52
+ <InfoItems title={t('user.userId')} value={authToken?.sub ?? t('user.unknown')} />
53
+ <InfoItems title={t('user.organizationRoles')} value={authToken?.account_roles?.join(',') ?? t('user.unknown')} />
54
+ <InfoItems title={t('user.projectRoles')} value={authToken?.project_roles?.join(',') ?? t('user.unknown')} />
53
55
  </div>
54
56
  },
55
57
  {
56
58
  name: 'environment',
57
- label: 'Environment',
59
+ label: t('user.environment'),
58
60
  content:
59
61
  <div className="space-y-1 p-2">
60
- <InfoItems title="Tenant ID" value={tenantId} />
61
- <InfoItems title="Environment" value={Env.type} />
62
- <InfoItems title="Server" value={server} />
63
- <InfoItems title="Store" value={store} />
64
- <InfoItems title="App Version" value={Env.version} />
65
- <InfoItems title="SDK Version" value={Env.sdkVersion || 'unknown'} />
62
+ <InfoItems title={t('user.tenantId')} value={tenantId} />
63
+ <InfoItems title={t('user.environment')} value={Env.type} />
64
+ <InfoItems title={t('user.server')} value={server} />
65
+ <InfoItems title={t('user.store')} value={store} />
66
+ <InfoItems title={t('user.appVersion')} value={Env.version} />
67
+ <InfoItems title={t('user.sdkVersion')} value={Env.sdkVersion || t('user.unknown')} />
66
68
  </div>
67
69
  }
68
70
  ];