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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (783) hide show
  1. package/lib/esm/core/components/SelectList.js +3 -1
  2. package/lib/esm/core/components/SelectList.js.map +1 -1
  3. package/lib/esm/core/components/SidePanel.js +2 -2
  4. package/lib/esm/core/components/SidePanel.js.map +1 -1
  5. package/lib/esm/core/components/index.js +0 -5
  6. package/lib/esm/core/components/index.js.map +1 -1
  7. package/lib/esm/core/components/shadcn/breadcrumb.js +11 -7
  8. package/lib/esm/core/components/shadcn/breadcrumb.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/button.js +5 -3
  10. package/lib/esm/core/components/shadcn/button.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/collaspible.js +14 -0
  12. package/lib/esm/core/components/shadcn/collaspible.js.map +1 -0
  13. package/lib/esm/core/components/shadcn/dropdown.js +61 -0
  14. package/lib/esm/core/components/shadcn/dropdown.js.map +1 -0
  15. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -1
  16. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  17. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +3 -1
  18. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -1
  19. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +1 -1
  20. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +1 -1
  21. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js +1 -1
  22. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +1 -1
  23. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +4 -2
  24. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +1 -1
  25. package/lib/esm/core/components/shadcn/filters/filterBar.js +7 -4
  26. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  27. package/lib/esm/core/components/shadcn/index.js +4 -0
  28. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  29. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +4 -2
  30. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
  31. package/lib/esm/core/components/shadcn/modal/DeleteModal.js +5 -3
  32. package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -1
  33. package/lib/esm/core/components/shadcn/popover.js +11 -7
  34. package/lib/esm/core/components/shadcn/popover.js.map +1 -1
  35. package/lib/esm/core/components/shadcn/radioGroup.js +29 -0
  36. package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -0
  37. package/lib/esm/core/components/shadcn/selectBox.js +1 -1
  38. package/lib/esm/core/components/shadcn/switch.js +19 -0
  39. package/lib/esm/core/components/shadcn/switch.js.map +1 -0
  40. package/lib/esm/core/components/shadcn/tabs.js +6 -6
  41. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  42. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +8 -6
  43. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
  44. package/lib/esm/core/components/shadcn/tooltip.js +1 -1
  45. package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
  46. package/lib/esm/core/components/toast/NotificationPanel.js +3 -3
  47. package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
  48. package/lib/esm/env/index.js +11 -1
  49. package/lib/esm/env/index.js.map +1 -1
  50. package/lib/esm/features/agent/PayloadBuilder.js +87 -15
  51. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  52. package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
  53. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
  54. package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
  55. package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
  56. package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
  57. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  58. package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
  59. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  60. package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
  61. package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
  62. package/lib/esm/features/agent/chat/ModernAgentConversation.js +243 -106
  63. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  64. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
  65. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +57 -18
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  72. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
  73. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  74. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
  75. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  76. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
  77. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  78. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
  79. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  80. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
  81. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  82. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
  83. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  84. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
  85. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  86. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
  87. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  88. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
  89. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  90. package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
  91. package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
  92. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
  93. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
  94. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +75 -16
  95. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  96. package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
  97. package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
  98. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
  99. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  100. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
  101. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
  102. package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
  103. package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
  104. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
  105. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  106. package/lib/esm/features/facets/RunsFacetsNav.js +1 -1
  107. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  108. package/lib/esm/features/facets/index.js +1 -1
  109. package/lib/esm/features/facets/index.js.map +1 -1
  110. package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
  111. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  112. package/lib/esm/features/layout/NotFoundView.js +3 -1
  113. package/lib/esm/features/layout/NotFoundView.js.map +1 -1
  114. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
  115. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  116. package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
  117. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
  118. package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
  119. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
  120. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
  121. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  122. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
  123. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  124. package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
  125. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
  126. package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
  127. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  128. package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
  129. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  130. package/lib/esm/features/store/collections/CreateCollection.js +21 -18
  131. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  132. package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
  133. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  134. package/lib/esm/features/store/collections/SelectCollection.js +25 -10
  135. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  136. package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
  137. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
  138. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
  139. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
  140. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
  141. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  142. package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
  143. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  144. package/lib/esm/features/store/objects/DocumentTable.js +10 -7
  145. package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
  146. package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
  147. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  148. package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
  149. package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  150. package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
  151. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  152. package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
  153. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  154. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
  155. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  156. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
  157. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  158. package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
  159. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  160. package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
  161. package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
  162. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
  163. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  164. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
  165. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  166. package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
  167. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
  168. package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
  169. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  170. package/lib/esm/features/store/objects/layout/renderers.js +10 -1
  171. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  172. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
  173. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  174. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
  175. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
  176. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
  177. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  178. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
  179. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
  180. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
  181. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
  182. package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
  183. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  184. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
  185. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  186. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
  187. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  188. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
  189. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
  190. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
  191. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  192. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
  193. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  194. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
  195. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
  196. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
  197. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  198. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
  199. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  200. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
  201. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  202. package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
  203. package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
  204. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
  205. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
  206. package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
  207. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
  208. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
  209. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  210. package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
  211. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  212. package/lib/esm/features/store/types/SelectContentType.js +9 -7
  213. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  214. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
  215. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  216. package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
  217. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  218. package/lib/esm/features/user/UserInfo.js +40 -50
  219. package/lib/esm/features/user/UserInfo.js.map +1 -1
  220. package/lib/esm/i18n/index.js +31 -0
  221. package/lib/esm/i18n/index.js.map +1 -0
  222. package/lib/esm/i18n/instance.js +46 -0
  223. package/lib/esm/i18n/instance.js.map +1 -0
  224. package/lib/esm/i18n/locales/ar.json +694 -0
  225. package/lib/esm/i18n/locales/de.json +662 -0
  226. package/lib/esm/i18n/locales/en.json +663 -0
  227. package/lib/esm/i18n/locales/es.json +668 -0
  228. package/lib/esm/i18n/locales/fr.json +670 -0
  229. package/lib/esm/i18n/locales/it.json +668 -0
  230. package/lib/esm/i18n/locales/ja.json +662 -0
  231. package/lib/esm/i18n/locales/ko.json +662 -0
  232. package/lib/esm/i18n/locales/pt.json +668 -0
  233. package/lib/esm/i18n/locales/ru.json +678 -0
  234. package/lib/esm/i18n/locales/tr.json +662 -0
  235. package/lib/esm/i18n/locales/zh-TW.json +662 -0
  236. package/lib/esm/i18n/locales/zh.json +662 -0
  237. package/lib/esm/layout/FullHeightLayout.js +3 -0
  238. package/lib/esm/layout/FullHeightLayout.js.map +1 -1
  239. package/lib/esm/layout/Navbar.js +3 -1
  240. package/lib/esm/layout/Navbar.js.map +1 -1
  241. package/lib/esm/layout/RegionTag.js +15 -0
  242. package/lib/esm/layout/RegionTag.js.map +1 -0
  243. package/lib/esm/layout/Sidebar.js +2 -2
  244. package/lib/esm/layout/Sidebar.js.map +1 -1
  245. package/lib/esm/layout/index.js +1 -0
  246. package/lib/esm/layout/index.js.map +1 -1
  247. package/lib/esm/router/HistoryNavigator.js +1 -1
  248. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  249. package/lib/esm/router/Nav.js +5 -3
  250. package/lib/esm/router/Nav.js.map +1 -1
  251. package/lib/esm/router/NestedNavigationContext.js +4 -0
  252. package/lib/esm/router/NestedNavigationContext.js.map +1 -1
  253. package/lib/esm/router/NestedRouterProvider.js +3 -1
  254. package/lib/esm/router/NestedRouterProvider.js.map +1 -1
  255. package/lib/esm/router/Router.js +21 -6
  256. package/lib/esm/router/Router.js.map +1 -1
  257. package/lib/esm/session/UserSession.js +31 -0
  258. package/lib/esm/session/UserSession.js.map +1 -1
  259. package/lib/esm/session/UserSessionProvider.js +4 -0
  260. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  261. package/lib/esm/session/auth/composable.js +1 -1
  262. package/lib/esm/session/auth/composable.js.map +1 -1
  263. package/lib/esm/session/auth/firebase.js +1 -1
  264. package/lib/esm/session/auth/firebase.js.map +1 -1
  265. package/lib/esm/session/auth/useCurrentTenant.js +3 -1
  266. package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
  267. package/lib/esm/shell/SplashScreen.js +3 -7
  268. package/lib/esm/shell/SplashScreen.js.map +1 -1
  269. package/lib/esm/shell/apps/StandaloneApp.js +5 -2
  270. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  271. package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
  272. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
  273. package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
  274. package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
  275. package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
  276. package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
  277. package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
  278. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  279. package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
  280. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
  281. package/lib/esm/shell/login/SigninScreen.js +6 -2
  282. package/lib/esm/shell/login/SigninScreen.js.map +1 -1
  283. package/lib/esm/shell/login/SignupForm.js +36 -34
  284. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  285. package/lib/esm/shell/login/TerminalLogin.js +29 -22
  286. package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
  287. package/lib/esm/shell/login/UserInfo.js +6 -4
  288. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  289. package/lib/esm/shell/login/UserSessionMenu.js +3 -4
  290. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
  291. package/lib/esm/widgets/index.js +0 -1
  292. package/lib/esm/widgets/index.js.map +1 -1
  293. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  294. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  295. package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
  296. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  297. package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
  298. package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
  299. package/lib/esm/widgets/json-view/JSONView.js +1 -1
  300. package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
  301. package/lib/esm/widgets/json-view/index.js +1 -0
  302. package/lib/esm/widgets/json-view/index.js.map +1 -1
  303. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
  304. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  305. package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
  306. package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
  307. package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
  308. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  309. package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
  310. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  311. package/lib/esm/widgets/markdown/index.js +10 -9
  312. package/lib/esm/widgets/markdown/index.js.map +1 -1
  313. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
  314. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  315. package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
  316. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  317. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
  318. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  319. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
  320. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  321. package/lib/esm/widgets/upload/DropZone.js +9 -11
  322. package/lib/esm/widgets/upload/DropZone.js.map +1 -1
  323. package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
  324. package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
  325. package/lib/esm/widgets/upload/UploadSummary.js +3 -1
  326. package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
  327. package/lib/tsconfig.tsbuildinfo +1 -1
  328. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  329. package/lib/types/core/components/SidePanel.d.ts +4 -2
  330. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  331. package/lib/types/core/components/index.d.ts +0 -5
  332. package/lib/types/core/components/index.d.ts.map +1 -1
  333. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  334. package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
  335. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
  336. package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
  337. package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
  338. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
  339. package/lib/types/core/components/shadcn/dropdown.d.ts +44 -0
  340. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
  341. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
  342. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
  343. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
  344. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  345. package/lib/types/core/components/shadcn/index.d.ts +4 -0
  346. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  347. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  348. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
  349. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
  350. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
  351. package/lib/types/core/components/shadcn/popover.d.ts +11 -3
  352. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  353. package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
  354. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
  355. package/lib/types/core/components/shadcn/switch.d.ts +12 -0
  356. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
  357. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  358. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  359. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +8 -2
  360. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
  361. package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
  362. package/lib/types/env/index.d.ts +8 -1
  363. package/lib/types/env/index.d.ts.map +1 -1
  364. package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
  365. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  366. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
  367. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
  368. package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
  369. package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
  370. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  371. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  372. package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  373. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
  374. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  375. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  376. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  377. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  378. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +12 -3
  379. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  380. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
  381. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  382. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  383. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  384. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  385. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
  386. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
  387. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  388. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
  389. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  390. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  391. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
  392. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  393. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  394. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  395. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
  396. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +3 -3
  397. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  398. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
  399. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
  400. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  401. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
  402. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
  403. package/lib/types/features/agent/chat/types/document.d.ts +2 -0
  404. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
  405. package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
  406. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
  407. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
  408. package/lib/types/features/facets/index.d.ts +1 -1
  409. package/lib/types/features/facets/index.d.ts.map +1 -1
  410. package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
  411. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  412. package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
  413. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
  414. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  415. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  416. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
  417. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  418. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  419. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  420. package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
  421. package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
  422. package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
  423. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  424. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  425. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
  426. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
  427. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  428. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  429. package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
  430. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  431. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  432. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  433. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
  434. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  435. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  436. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
  437. package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
  438. package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
  439. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
  440. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
  441. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  442. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  443. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  444. package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
  445. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  446. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  447. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  448. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
  449. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
  450. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  451. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
  452. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
  453. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
  454. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
  455. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
  456. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  457. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
  458. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  459. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
  460. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  461. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
  462. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
  463. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
  464. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  465. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
  466. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
  467. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  468. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  469. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
  470. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
  471. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  472. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
  473. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
  474. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  475. package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
  476. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  477. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  478. package/lib/types/features/user/UserInfo.d.ts +2 -2
  479. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  480. package/lib/types/i18n/index.d.ts +14 -0
  481. package/lib/types/i18n/index.d.ts.map +1 -0
  482. package/lib/types/i18n/instance.d.ts +5 -0
  483. package/lib/types/i18n/instance.d.ts.map +1 -0
  484. package/lib/types/layout/FullHeightLayout.d.ts +3 -0
  485. package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
  486. package/lib/types/layout/Navbar.d.ts.map +1 -1
  487. package/lib/types/layout/RegionTag.d.ts +4 -0
  488. package/lib/types/layout/RegionTag.d.ts.map +1 -0
  489. package/lib/types/layout/Sidebar.d.ts +2 -1
  490. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  491. package/lib/types/layout/index.d.ts +1 -0
  492. package/lib/types/layout/index.d.ts.map +1 -1
  493. package/lib/types/router/Nav.d.ts +5 -1
  494. package/lib/types/router/Nav.d.ts.map +1 -1
  495. package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
  496. package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
  497. package/lib/types/router/Router.d.ts +2 -0
  498. package/lib/types/router/Router.d.ts.map +1 -1
  499. package/lib/types/session/UserSession.d.ts +1 -0
  500. package/lib/types/session/UserSession.d.ts.map +1 -1
  501. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  502. package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
  503. package/lib/types/shell/SplashScreen.d.ts.map +1 -1
  504. package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
  505. package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
  506. package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
  507. package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
  508. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  509. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
  510. package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
  511. package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
  512. package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
  513. package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -1
  514. package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
  515. package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
  516. package/lib/types/widgets/index.d.ts +0 -1
  517. package/lib/types/widgets/index.d.ts.map +1 -1
  518. package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
  519. package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
  520. package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
  521. package/lib/types/widgets/json-view/index.d.ts +1 -0
  522. package/lib/types/widgets/json-view/index.d.ts.map +1 -1
  523. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  524. package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
  525. package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
  526. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  527. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
  528. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  529. package/lib/types/widgets/markdown/index.d.ts +10 -9
  530. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  531. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  532. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  533. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
  534. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  535. package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
  536. package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  537. package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -1
  538. package/lib/vertesia-ui-core.js +1 -1
  539. package/lib/vertesia-ui-core.js.map +1 -1
  540. package/lib/vertesia-ui-env.js +1 -1
  541. package/lib/vertesia-ui-env.js.map +1 -1
  542. package/lib/vertesia-ui-features.js +1 -1
  543. package/lib/vertesia-ui-features.js.map +1 -1
  544. package/lib/vertesia-ui-i18n.js +2 -0
  545. package/lib/vertesia-ui-i18n.js.map +1 -0
  546. package/lib/vertesia-ui-layout.js +1 -1
  547. package/lib/vertesia-ui-layout.js.map +1 -1
  548. package/lib/vertesia-ui-router.js +1 -1
  549. package/lib/vertesia-ui-router.js.map +1 -1
  550. package/lib/vertesia-ui-session.js +1 -1
  551. package/lib/vertesia-ui-session.js.map +1 -1
  552. package/lib/vertesia-ui-shell.js +1 -1
  553. package/lib/vertesia-ui-shell.js.map +1 -1
  554. package/lib/vertesia-ui-widgets.js +1 -1
  555. package/lib/vertesia-ui-widgets.js.map +1 -1
  556. package/llms.txt +124 -4
  557. package/package.json +50 -22
  558. package/src/core/components/SelectList.tsx +3 -1
  559. package/src/core/components/SidePanel.tsx +5 -4
  560. package/src/core/components/index.ts +0 -5
  561. package/src/core/components/shadcn/breadcrumb.tsx +16 -9
  562. package/src/core/components/shadcn/button.tsx +5 -3
  563. package/src/core/components/shadcn/collaspible.tsx +33 -0
  564. package/src/core/components/shadcn/dropdown.tsx +309 -0
  565. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
  566. package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
  567. package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
  568. package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
  569. package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
  570. package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
  571. package/src/core/components/shadcn/index.ts +5 -1
  572. package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
  573. package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
  574. package/src/core/components/shadcn/popover.tsx +12 -7
  575. package/src/core/components/shadcn/radioGroup.tsx +100 -0
  576. package/src/core/components/shadcn/selectBox.tsx +1 -1
  577. package/src/core/components/shadcn/switch.tsx +60 -0
  578. package/src/core/components/shadcn/tabs.tsx +29 -27
  579. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +19 -10
  580. package/src/core/components/shadcn/tooltip.tsx +1 -1
  581. package/src/core/components/toast/NotificationPanel.tsx +38 -44
  582. package/src/css/base.css +31 -0
  583. package/src/css/color.css +136 -0
  584. package/src/css/custom-tooltips.css +64 -0
  585. package/src/css/index.css +27 -0
  586. package/src/css/theme.css +86 -0
  587. package/src/css/typography.css +88 -0
  588. package/src/css/utilities.css +72 -0
  589. package/src/env/index.ts +16 -3
  590. package/src/features/agent/PayloadBuilder.tsx +100 -13
  591. package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
  592. package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
  593. package/src/features/agent/chat/AskUserWidget.tsx +14 -8
  594. package/src/features/agent/chat/DocumentPanel.tsx +24 -9
  595. package/src/features/agent/chat/ImageLightbox.tsx +6 -3
  596. package/src/features/agent/chat/ModernAgentConversation.tsx +539 -356
  597. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
  598. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
  599. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +126 -46
  600. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
  601. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
  602. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
  603. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
  604. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
  605. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
  606. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
  607. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
  608. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
  609. package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
  610. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
  611. package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
  612. package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
  613. package/src/features/agent/chat/hooks/useAgentStream.ts +80 -19
  614. package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
  615. package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
  616. package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
  617. package/src/features/agent/chat/types/document.ts +2 -0
  618. package/src/features/errors/PanelErrorBoundary.tsx +5 -3
  619. package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
  620. package/src/features/facets/RunsFacetsNav.tsx +6 -6
  621. package/src/features/facets/index.ts +1 -1
  622. package/src/features/layout/GenericPageNavHeader.tsx +64 -41
  623. package/src/features/layout/NotFoundView.tsx +4 -1
  624. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
  625. package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
  626. package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
  627. package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
  628. package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
  629. package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
  630. package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
  631. package/src/features/store/collections/CollectionsTable.tsx +20 -12
  632. package/src/features/store/collections/CreateCollection.tsx +45 -40
  633. package/src/features/store/collections/EditCollectionView.tsx +31 -28
  634. package/src/features/store/collections/SelectCollection.tsx +50 -14
  635. package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
  636. package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
  637. package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
  638. package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
  639. package/src/features/store/objects/DocumentTable.tsx +11 -5
  640. package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
  641. package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
  642. package/src/features/store/objects/components/ContentOverview.tsx +96 -50
  643. package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
  644. package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
  645. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
  646. package/src/features/store/objects/components/SelectDocument.tsx +15 -6
  647. package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
  648. package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
  649. package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
  650. package/src/features/store/objects/components/useDownloadFile.ts +12 -10
  651. package/src/features/store/objects/layout/documentLayout.tsx +16 -6
  652. package/src/features/store/objects/layout/renderers.tsx +27 -1
  653. package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
  654. package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
  655. package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
  656. package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
  657. package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
  658. package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
  659. package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
  660. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
  661. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
  662. package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
  663. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
  664. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
  665. package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
  666. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
  667. package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
  668. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
  669. package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
  670. package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
  671. package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
  672. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
  673. package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
  674. package/src/features/store/types/SelectContentType.tsx +15 -13
  675. package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
  676. package/src/features/store/types/TableLayoutEditor.tsx +16 -12
  677. package/src/features/user/UserInfo.tsx +47 -56
  678. package/src/i18n/index.tsx +45 -0
  679. package/src/i18n/instance.ts +49 -0
  680. package/src/i18n/locales/ar.json +694 -0
  681. package/src/i18n/locales/de.json +662 -0
  682. package/src/i18n/locales/en.json +663 -0
  683. package/src/i18n/locales/es.json +668 -0
  684. package/src/i18n/locales/fr.json +670 -0
  685. package/src/i18n/locales/it.json +668 -0
  686. package/src/i18n/locales/ja.json +662 -0
  687. package/src/i18n/locales/ko.json +662 -0
  688. package/src/i18n/locales/pt.json +668 -0
  689. package/src/i18n/locales/ru.json +678 -0
  690. package/src/i18n/locales/tr.json +662 -0
  691. package/src/i18n/locales/zh-TW.json +662 -0
  692. package/src/i18n/locales/zh.json +662 -0
  693. package/src/layout/FullHeightLayout.tsx +8 -0
  694. package/src/layout/Navbar.tsx +4 -2
  695. package/src/layout/RegionTag.tsx +25 -0
  696. package/src/layout/Sidebar.tsx +4 -3
  697. package/src/layout/index.ts +2 -1
  698. package/src/router/HistoryNavigator.ts +10 -10
  699. package/src/router/Nav.tsx +9 -3
  700. package/src/router/NestedNavigationContext.tsx +4 -0
  701. package/src/router/NestedRouterProvider.tsx +3 -1
  702. package/src/router/Router.tsx +23 -7
  703. package/src/session/UserSession.ts +32 -0
  704. package/src/session/UserSessionProvider.tsx +4 -0
  705. package/src/session/auth/composable.ts +1 -1
  706. package/src/session/auth/firebase.ts +1 -1
  707. package/src/session/auth/useCurrentTenant.ts +3 -1
  708. package/src/shell/SplashScreen.tsx +22 -26
  709. package/src/shell/apps/StandaloneApp.tsx +9 -6
  710. package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
  711. package/src/shell/login/GitHubSignInButton.tsx +3 -7
  712. package/src/shell/login/GoogleSignInButton.tsx +3 -1
  713. package/src/shell/login/InviteAcceptModal.tsx +5 -2
  714. package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
  715. package/src/shell/login/SigninScreen.tsx +18 -13
  716. package/src/shell/login/SignupForm.tsx +46 -46
  717. package/src/shell/login/TerminalLogin.tsx +36 -33
  718. package/src/shell/login/UserInfo.tsx +15 -13
  719. package/src/shell/login/UserSessionMenu.tsx +28 -31
  720. package/src/widgets/index.ts +0 -1
  721. package/src/widgets/json-view/JSONCode.tsx +1 -1
  722. package/src/widgets/json-view/JSONDisplay.tsx +8 -3
  723. package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
  724. package/src/widgets/json-view/JSONView.tsx +1 -1
  725. package/src/widgets/json-view/index.ts +1 -0
  726. package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
  727. package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
  728. package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
  729. package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
  730. package/src/widgets/markdown/index.ts +27 -34
  731. package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
  732. package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
  733. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
  734. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
  735. package/src/widgets/upload/DropZone.tsx +10 -13
  736. package/src/widgets/upload/UploadResultCategory.tsx +3 -1
  737. package/src/widgets/upload/UploadSummary.tsx +13 -11
  738. package/tsconfig.dist.json +1 -1
  739. package/lib/esm/core/components/Dropdown.js +0 -16
  740. package/lib/esm/core/components/Dropdown.js.map +0 -1
  741. package/lib/esm/core/components/DropdownList.js +0 -9
  742. package/lib/esm/core/components/DropdownList.js.map +0 -1
  743. package/lib/esm/core/components/RadioGroup.js +0 -34
  744. package/lib/esm/core/components/RadioGroup.js.map +0 -1
  745. package/lib/esm/core/components/SelectStack.js +0 -8
  746. package/lib/esm/core/components/SelectStack.js.map +0 -1
  747. package/lib/esm/core/components/Switch.js +0 -12
  748. package/lib/esm/core/components/Switch.js.map +0 -1
  749. package/lib/esm/widgets/popover/Popover.js +0 -73
  750. package/lib/esm/widgets/popover/Popover.js.map +0 -1
  751. package/lib/esm/widgets/popover/context.js +0 -7
  752. package/lib/esm/widgets/popover/context.js.map +0 -1
  753. package/lib/esm/widgets/popover/index.js +0 -3
  754. package/lib/esm/widgets/popover/index.js.map +0 -1
  755. package/lib/esm/widgets/popover/slots.js +0 -22
  756. package/lib/esm/widgets/popover/slots.js.map +0 -1
  757. package/lib/types/core/components/Dropdown.d.ts +0 -15
  758. package/lib/types/core/components/Dropdown.d.ts.map +0 -1
  759. package/lib/types/core/components/DropdownList.d.ts +0 -13
  760. package/lib/types/core/components/DropdownList.d.ts.map +0 -1
  761. package/lib/types/core/components/RadioGroup.d.ts +0 -26
  762. package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
  763. package/lib/types/core/components/SelectStack.d.ts +0 -13
  764. package/lib/types/core/components/SelectStack.d.ts.map +0 -1
  765. package/lib/types/core/components/Switch.d.ts +0 -11
  766. package/lib/types/core/components/Switch.d.ts.map +0 -1
  767. package/lib/types/widgets/popover/Popover.d.ts +0 -38
  768. package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
  769. package/lib/types/widgets/popover/context.d.ts +0 -8
  770. package/lib/types/widgets/popover/context.d.ts.map +0 -1
  771. package/lib/types/widgets/popover/index.d.ts +0 -3
  772. package/lib/types/widgets/popover/index.d.ts.map +0 -1
  773. package/lib/types/widgets/popover/slots.d.ts +0 -5
  774. package/lib/types/widgets/popover/slots.d.ts.map +0 -1
  775. package/src/core/components/Dropdown.tsx +0 -63
  776. package/src/core/components/DropdownList.tsx +0 -72
  777. package/src/core/components/RadioGroup.tsx +0 -100
  778. package/src/core/components/SelectStack.tsx +0 -63
  779. package/src/core/components/Switch.tsx +0 -30
  780. package/src/widgets/popover/Popover.tsx +0 -171
  781. package/src/widgets/popover/context.ts +0 -15
  782. package/src/widgets/popover/index.ts +0 -2
  783. package/src/widgets/popover/slots.ts +0 -24
@@ -1,5 +1,6 @@
1
1
  import { Button, Filter as BaseFilter, FilterProvider, FilterBtn, FilterBar, FilterClear, FilterGroup } from '@vertesia/ui/core';
2
- import { useState } from 'react';
2
+ import { useEffect, useMemo, useRef, useState } from 'react';
3
+ import { VInteractionFacet } from './utils/VInteractionFacet';
3
4
  import { VStringFacet } from './utils/VStringFacet';
4
5
  import { VUserFacet } from './utils/VUserFacet';
5
6
  import { SearchInterface } from './utils/SearchInterface';
@@ -9,6 +10,7 @@ interface AgentRunnerFacetsNavProps {
9
10
  facets: {
10
11
  statuses?: any[];
11
12
  initiated_by?: any[];
13
+ interactions?: any[];
12
14
  };
13
15
  search: SearchInterface;
14
16
  }
@@ -17,46 +19,51 @@ interface AgentRunnerFacetsNavProps {
17
19
  export function useAgentRunnerFilterGroups(facets: AgentRunnerFacetsNavProps['facets']): FilterGroup[] {
18
20
  const customFilterGroups: FilterGroup[] = [];
19
21
 
20
- if (facets.statuses) {
21
- const statusFilterGroup = VStringFacet({
22
- search: null as any, // This will be provided by the search context
23
- buckets: facets.statuses || [],
24
- name: 'status',
25
- placeholder: 'Status',
26
- });
27
- customFilterGroups.push(statusFilterGroup);
28
- }
29
-
30
- if (facets.initiated_by) {
31
- const initiatedByFilterGroup = VUserFacet({
32
- buckets: facets.initiated_by || [],
33
- name: 'initiated_by',
34
- placeholder: 'Initiated By'
35
- });
36
- customFilterGroups.push(initiatedByFilterGroup);
37
- }
38
-
39
- const dateAfterFilterGroup = {
22
+ customFilterGroups.push({
23
+ name: 'id',
24
+ placeholder: 'Run ID',
25
+ type: 'text',
26
+ multiple: false
27
+ });
28
+
29
+ customFilterGroups.push(VInteractionFacet({
30
+ buckets: facets.interactions || [],
31
+ name: 'interaction',
32
+ placeholder: 'Interaction',
33
+ }));
34
+
35
+ customFilterGroups.push(VStringFacet({
36
+ search: null as any, // This will be provided by the search context
37
+ buckets: facets.statuses || [],
38
+ name: 'status',
39
+ placeholder: 'Status',
40
+ }));
41
+
42
+ customFilterGroups.push(VUserFacet({
43
+ buckets: facets.initiated_by || [],
44
+ name: 'initiated_by',
45
+ placeholder: 'Initiated By'
46
+ }));
47
+
48
+ customFilterGroups.push({
40
49
  name: 'start',
41
50
  placeholder: 'Started After',
42
51
  type: 'date' as const,
43
52
  multiple: false
44
- };
45
- customFilterGroups.push(dateAfterFilterGroup);
53
+ });
46
54
 
47
- const dateBeforeFilterGroup = {
55
+ customFilterGroups.push({
48
56
  name: 'end',
49
57
  placeholder: 'Started Before',
50
58
  type: 'date' as const,
51
59
  multiple: false
52
- };
53
- customFilterGroups.push(dateBeforeFilterGroup);
60
+ });
54
61
 
55
62
  return customFilterGroups;
56
63
  }
57
64
 
58
- // Hook to create filter change handler for agent runners
59
- export function useAgentRunnerFilterHandler(search: SearchInterface) {
65
+ // Create filter change handler for agent runners
66
+ export function createAgentRunnerFilterHandler(search: SearchInterface) {
60
67
  return (newFilters: BaseFilter[]) => {
61
68
 
62
69
  // Clear all filters first, then apply new ones
@@ -90,14 +97,26 @@ export function useAgentRunnerFilterHandler(search: SearchInterface) {
90
97
  // Legacy component for backward compatibility
91
98
  export function AgentRunnerFacetsNav({ facets, search }: AgentRunnerFacetsNavProps) {
92
99
  const [filters, setFilters] = useState<BaseFilter[]>([]);
100
+ const didMountRef = useRef(false);
101
+ const skipNextSearchRef = useRef(
102
+ typeof window !== 'undefined' && Boolean(new URLSearchParams(window.location.search).get('filters'))
103
+ );
93
104
  const filterGroups = useAgentRunnerFilterGroups(facets);
94
- const handleFilterLogic = useAgentRunnerFilterHandler(search);
105
+ const handleFilterLogic = useMemo(() => createAgentRunnerFilterHandler(search), [search]);
95
106
 
96
- const handleFilterChange: React.Dispatch<React.SetStateAction<BaseFilter[]>> = (value) => {
97
- const newFilters = typeof value === 'function' ? value(filters) : value;
98
- setFilters(newFilters);
99
- handleFilterLogic(newFilters);
100
- };
107
+ useEffect(() => {
108
+ if (!didMountRef.current) {
109
+ didMountRef.current = true;
110
+ return;
111
+ }
112
+
113
+ if (skipNextSearchRef.current) {
114
+ skipNextSearchRef.current = false;
115
+ return;
116
+ }
117
+
118
+ handleFilterLogic(filters);
119
+ }, [filters, handleFilterLogic]);
101
120
 
102
121
  const handleRefetch = () => {
103
122
  search.search();
@@ -107,7 +126,7 @@ export function AgentRunnerFacetsNav({ facets, search }: AgentRunnerFacetsNavPro
107
126
  <FilterProvider
108
127
  filterGroups={filterGroups}
109
128
  filters={filters}
110
- setFilters={handleFilterChange}
129
+ setFilters={setFilters}
111
130
  >
112
131
  <div className='flex justify-between mb-1'>
113
132
  <div className='flex gap-2 items-center'>
@@ -194,16 +194,16 @@ export function RunsFacetsNav({ facets, search }: RunsFacetsNavProps) {
194
194
  filters={filters}
195
195
  setFilters={handleFilterChange}
196
196
  >
197
- <div className='flex justify-between mb-1'>
198
- <FilterBtn />
197
+ <div className='flex justify-between mb-1 sticky top-2 py-2 z-10 bg-background'>
198
+ <div className='flex gap-2 items-center'>
199
+ <FilterBtn />
200
+ <FilterBar />
201
+ <FilterClear />
202
+ </div>
199
203
  <Button onClick={handleRefetch} variant='outline' title="Refresh">
200
204
  <RefreshCw className="size-5" />
201
205
  </Button>
202
206
  </div>
203
- <div className='flex gap-2 items-center'>
204
- <FilterBar />
205
- <FilterClear />
206
- </div>
207
207
  </FilterProvider>
208
208
  );
209
209
  }
@@ -14,4 +14,4 @@ export { DocumentsFacetsNav, useDocumentFilterGroups, useDocumentFilterHandler }
14
14
  export { InteractionsFacetsNav, useInteractionsFilterGroups, useInteractionsFilterHandler } from "./InteractionsFacetsNav";
15
15
  export { PromptsFacetsNav, usePromptsFilterGroups, usePromptsFilterHandler } from "./PromptsFacetsNav";
16
16
  export { CollectionsFacetsNav, useCollectionsFilterGroups, useCollectionsFilterHandler } from "./CollectionsFacetsNav";
17
- export { AgentRunnerFacetsNav, useAgentRunnerFilterGroups, useAgentRunnerFilterHandler } from "./AgentRunnerFacetsNav";
17
+ export { AgentRunnerFacetsNav, useAgentRunnerFilterGroups, createAgentRunnerFilterHandler } from "./AgentRunnerFacetsNav";
@@ -7,7 +7,7 @@ import { capitalize } from 'lodash-es';
7
7
  import { useNavigate } from '@vertesia/ui/router';
8
8
 
9
9
  interface GenericPageNavHeaderProps {
10
- title: string | JSX.Element;
10
+ title?: string | JSX.Element;
11
11
  description?: string | JSX.Element;
12
12
  actions?: ReactNode | ReactNode[];
13
13
  breadcrumbs?: JSX.Element[]
@@ -17,7 +17,14 @@ interface GenericPageNavHeaderProps {
17
17
  useDynamicBreadcrumbs?: boolean;
18
18
  }
19
19
 
20
- export function GenericPageNavHeader({ className, children, title, description, actions, breadcrumbs, isCompact = false, useDynamicBreadcrumbs = true }: GenericPageNavHeaderProps) {
20
+ // Matches MongoDB ObjectId (24 hex), UUID (36 chars with dashes), or any segment containing digits mixed with letters
21
+ const ID_SEGMENT_PATTERN = /^[a-f0-9]{24}$|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9_-]{8,}$/i;
22
+
23
+ function isIdSegment(segment: string): boolean {
24
+ return ID_SEGMENT_PATTERN.test(segment);
25
+ }
26
+
27
+ export function GenericPageNavHeader({ className, children, title, description, actions, breadcrumbs, useDynamicBreadcrumbs = true }: GenericPageNavHeaderProps) {
21
28
  const navigate = useNavigate();
22
29
 
23
30
  function formatTitle(title: string): string {
@@ -29,53 +36,63 @@ export function GenericPageNavHeader({ className, children, title, description,
29
36
  }
30
37
 
31
38
  const buildBreadcrumbLabel = (entry: any): string => {
39
+ if (entry?.title) {
40
+ return entry.title;
41
+ }
42
+
32
43
  const href = entry?.href || '';
33
44
  if (!href) return 'Page';
34
-
45
+
35
46
  const cleanHref = href.split('#')[0].split('?')[0];
36
47
  const pathSegments: string[] = (cleanHref as string).split('/').filter((segment: string) => segment.length > 0);
37
-
38
- if (pathSegments.length === 3) {
39
- if (entry.title !== document.title && entry.title) {
40
- return entry.title;
41
- }
42
- const secondSegment = pathSegments[1];
43
- return `${formatTitle(secondSegment)} Detail (...${pathSegments[2].slice(-6)})`;
44
- } else if (pathSegments.length >= 2) {
48
+
49
+ if (pathSegments.length >= 1) {
45
50
  return formatTitle(pathSegments[pathSegments.length - 1]);
46
- } else if (pathSegments.length === 1) {
47
- return formatTitle(pathSegments[0]);
48
51
  }
49
-
52
+
50
53
  return 'Page';
51
54
  }
52
55
 
53
56
  // Build breadcrumb items from history chain and current breadcrumbs
54
- const buildBreadcrumbItems = (): Array<{ label: string, href?: string, onClick?: () => void }> => {
55
- const items: Array<{ label: string, href?: string, onClick?: () => void, clearHistory?: boolean }> = [];
56
-
57
- // Add items from history chain
58
- if (useDynamicBreadcrumbs && typeof window !== 'undefined' && window.history.state?.historyChain) {
59
- const historyChain = window.history.state.historyChain;
60
- historyChain.forEach((entry: any, index: number) => {
61
- const stepsBack = historyChain.length - index;
62
- items.push({
63
- label: buildBreadcrumbLabel(entry),
64
- href: entry.href,
65
- onClick: () => navigate(entry.href, { stepsBack: stepsBack })
57
+ const buildBreadcrumbItems = (): Array<{ label: string | ReactNode, href?: string, onClick?: () => void }> => {
58
+ const items: Array<{ label: string | ReactNode, href?: string, onClick?: () => void, clearHistory?: boolean }> = [];
59
+
60
+ if (useDynamicBreadcrumbs && typeof window !== 'undefined') {
61
+ const historyChain = window.history.state?.historyChain;
62
+
63
+ if (historyChain) {
64
+ // Use existing history chain
65
+ historyChain.forEach((entry: any, index: number) => {
66
+ const stepsBack = historyChain.length - index;
67
+ items.push({
68
+ label: buildBreadcrumbLabel(entry),
69
+ href: entry.href,
70
+ onClick: () => navigate(entry.href, { stepsBack: stepsBack })
71
+ });
66
72
  });
67
- });
73
+ } else {
74
+ // Infer parents from URL when navigating directly to a detail page
75
+ const segments = window.location.pathname.split('/').filter(s => s.length > 0);
76
+ for (let i = 0; i < segments.length; i++) {
77
+ if (isIdSegment(segments[i])) {
78
+ const parentPath = '/' + segments.slice(0, i).join('/');
79
+ items.push({
80
+ label: formatTitle(segments[i - 1] || parentPath),
81
+ href: parentPath,
82
+ onClick: () => navigate(parentPath, { isBasePathNested: false}),
83
+ });
84
+ }
85
+ }
86
+ }
68
87
  }
69
88
 
70
89
  // Add current page breadcrumbs
71
90
  if (breadcrumbs && breadcrumbs.length > 0) {
72
91
  breadcrumbs.forEach((breadcrumb: any) => {
73
- // Extract text content from React element
74
- const label = typeof breadcrumb?.props?.children === 'string'
75
- ? breadcrumb.props.children
76
- : 'Page';
92
+ // Preserve the entire React element as label
93
+ const label = breadcrumb.props?.children || breadcrumb;
77
94
 
78
- items.push(( breadcrumb?.props?.href ) ? {
95
+ items.push((breadcrumb?.props?.href) ? {
79
96
  href: breadcrumb?.props?.href,
80
97
  label: label,
81
98
  onClick: () => navigate(breadcrumb.props.href, { replace: breadcrumb.props.clearBreadcrumbs }),
@@ -91,28 +108,34 @@ export function GenericPageNavHeader({ className, children, title, description,
91
108
  const breadcrumbItems = buildBreadcrumbItems();
92
109
 
93
110
  return (
94
- <div className={clsx(isCompact ? 'pb-0' : 'pb-2', 'p-4 flex flex-col', className)}>
111
+ <div className={clsx('pb-0 pl-4 pr-2 py-2 flex flex-col', className)}>
95
112
  <div className='flex items-start gap-4'>
96
- <div className="w-full flex place-content-between h-auto min-h-8 flex-col items-start">
97
- <nav className="flex-1 flex justify-start text-xs">
113
+ <div className="w-full flex place-content-between h-auto min-h-8 flex-col items-start justify-center">
114
+ <nav className="flex-1 flex justify-start text-sm">
98
115
  {breadcrumbItems.length > 0 && (
99
116
  <Breadcrumbs
100
117
  path={breadcrumbItems}
101
- separator={<ChevronRight className="w-3.5 h-3.5" />}
118
+ separator={<ChevronRight className="size-3.5" />}
102
119
  maxItems={4}
103
120
  />
104
121
  )}
105
- </nav>
106
- <div className='flex gap-2 items-center'>
107
- <h1 className="text-xl font-semibold break-all">{title}</h1>
108
122
  {
109
123
  description &&
110
124
  <VTooltip
111
125
  description={description}>
112
- <Info className="size-4 text-muted" />
126
+ <Info className="size-4 text-muted ml-4" />
113
127
  </VTooltip>
114
128
  }
115
- </div>
129
+ </nav>
130
+ {
131
+ title && (
132
+ <div className='flex gap-2 items-center'>
133
+ <h1 className="text-xl font-semibold break-all">{title}</h1>
134
+
135
+ </div>
136
+
137
+ )
138
+ }
116
139
  </div>
117
140
  <div className="flex gap-x-2 shrink-0">{actions}</div>
118
141
  </div>
@@ -1,11 +1,14 @@
1
1
 
2
+ import { useUITranslation } from '../../i18n/index.js';
3
+
2
4
  interface NotFoundViewProps {
3
5
  }
4
6
  export function NotFoundView({ }: NotFoundViewProps) {
7
+ const { t } = useUITranslation();
5
8
  return (
6
9
  <div className="text-center pt-32">
7
10
  <h1 className="text-3xl font-bold text-red-500">404</h1>
8
- <p className="text-2xl">Page Not Found</p>
11
+ <p className="text-2xl">{t('layout.pageNotFound')}</p>
9
12
  </div>
10
13
  )
11
14
  }
@@ -2,6 +2,7 @@ import { Button, Center, VTooltip } from "@vertesia/ui/core";
2
2
  import clsx from "clsx";
3
3
  import { ChevronsDown, ChevronsUp, Image, Loader2, Maximize, Minus, Plus, ScanSearch } from "lucide-react";
4
4
  import { useRef, KeyboardEvent, useState, useEffect, useCallback } from "react";
5
+ import { useUITranslation } from '../../i18n/index.js';
5
6
  import { ImageType, useMagicPdfContext } from "./MagicPdfProvider";
6
7
 
7
8
  // Zoom levels as percentages (100 = fit to width)
@@ -42,6 +43,7 @@ interface AnnotatedImageSliderProps {
42
43
  * Loads first image immediately to determine aspect ratio for stable layout.
43
44
  */
44
45
  export function AnnotatedImageSlider({ className, currentPage, onChange }: AnnotatedImageSliderProps) {
46
+ const { t } = useUITranslation();
45
47
  const [imageType, setImageType] = useState<ImageType>(ImageType.instrumented);
46
48
  const [aspectRatio, setAspectRatio] = useState<number>(DEFAULT_ASPECT_RATIO);
47
49
  const [loadedUrls, setLoadedUrls] = useState<Map<number, string>>(new Map());
@@ -250,7 +252,7 @@ export function AnnotatedImageSlider({ className, currentPage, onChange }: Annot
250
252
  return (
251
253
  <div ref={ref} className={clsx('flex flex-col items-stretch gap-y-2', className)}>
252
254
  <div className="relative flex items-center justify-center px-2 h-9">
253
- <Button variant="ghost" size="xs" onClick={goPrev} alt="Previous page">
255
+ <Button variant="ghost" size="xs" onClick={goPrev} alt={t('pdf.previousPage')}>
254
256
  <ChevronsUp className='size-4' />
255
257
  </Button>
256
258
  <div className="absolute left-2 flex items-center gap-x-1">
@@ -259,14 +261,14 @@ export function AnnotatedImageSlider({ className, currentPage, onChange }: Annot
259
261
  currentType={imageType}
260
262
  onClick={() => setImageType(ImageType.original)}
261
263
  icon={<Image className="size-4" />}
262
- tooltip="Original images"
264
+ tooltip={t('pdf.originalImages')}
263
265
  />
264
266
  <ImageTypeButton
265
267
  type={ImageType.instrumented}
266
268
  currentType={imageType}
267
269
  onClick={() => setImageType(ImageType.instrumented)}
268
270
  icon={<ScanSearch className="size-4" />}
269
- tooltip="Instrumented images"
271
+ tooltip={t('pdf.instrumentedImages')}
270
272
  />
271
273
  <div className="w-px h-4 bg-border mx-1" />
272
274
  <ZoomControls
@@ -296,7 +298,7 @@ export function AnnotatedImageSlider({ className, currentPage, onChange }: Annot
296
298
  ))}
297
299
  </div>
298
300
  <div className="flex items-center justify-center h-9">
299
- <Button variant="ghost" size="xs" onClick={goNext} alt="Next page">
301
+ <Button variant="ghost" size="xs" onClick={goNext} alt={t('pdf.nextPage')}>
300
302
  <ChevronsDown className='size-4' />
301
303
  </Button>
302
304
  </div>
@@ -339,9 +341,10 @@ interface ZoomControlsProps {
339
341
  canZoomOut: boolean;
340
342
  }
341
343
  function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZoomOut }: ZoomControlsProps) {
344
+ const { t } = useUITranslation();
342
345
  return (
343
346
  <div className="flex items-center gap-x-0.5">
344
- <VTooltip description="Zoom out" placement="bottom" size="xs">
347
+ <VTooltip description={t('pdf.zoomOut')} placement="bottom" size="xs">
345
348
  <button
346
349
  className={clsx(
347
350
  "p-1 rounded cursor-pointer transition-colors",
@@ -358,7 +361,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
358
361
  <span className="text-xs text-muted-foreground min-w-[32px] text-center">
359
362
  {zoom}%
360
363
  </span>
361
- <VTooltip description="Zoom in" placement="bottom" size="xs">
364
+ <VTooltip description={t('pdf.zoomIn')} placement="bottom" size="xs">
362
365
  <button
363
366
  className={clsx(
364
367
  "p-1 rounded cursor-pointer transition-colors",
@@ -372,7 +375,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
372
375
  <Plus className="size-4" />
373
376
  </button>
374
377
  </VTooltip>
375
- <VTooltip description="Fit to width" placement="bottom" size="xs">
378
+ <VTooltip description={t('pdf.fitToWidth')} placement="bottom" size="xs">
376
379
  <button
377
380
  className={clsx(
378
381
  "p-1 rounded cursor-pointer transition-colors",
@@ -432,6 +435,7 @@ interface PageNavigatorProps {
432
435
  onChange: (page: number) => void;
433
436
  }
434
437
  function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps) {
438
+ const { t } = useUITranslation();
435
439
  const inputRef = useRef<HTMLInputElement>(null);
436
440
  const [inputValue, setInputValue] = useState(String(currentPage));
437
441
 
@@ -466,7 +470,7 @@ function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps
466
470
 
467
471
  return (
468
472
  <div className="flex items-center gap-1 text-xs text-muted-foreground">
469
- <span>Page</span>
473
+ <span>{t('pdf.page')}</span>
470
474
  <input
471
475
  ref={inputRef}
472
476
  type="text"
@@ -1,14 +1,15 @@
1
1
  import { ContentObject, DocumentMetadata } from "@vertesia/common";
2
- import { Button } from "@vertesia/ui/core";
2
+ import { Button, Popover, PopoverContent, PopoverTrigger } from "@vertesia/ui/core";
3
3
  import { useUserSession } from "@vertesia/ui/session";
4
- import { Popover } from "@vertesia/ui/widgets";
5
4
  import { Download } from "lucide-react";
5
+ import { useUITranslation } from '../../i18n/index.js';
6
6
  import { getResourceUrl } from "./MagicPdfProvider";
7
7
 
8
8
  interface DownloadPopoverProps {
9
9
  object: ContentObject;
10
10
  }
11
11
  export function DownloadPopover({ object }: DownloadPopoverProps) {
12
+ const { t } = useUITranslation();
12
13
  const { client } = useUserSession()
13
14
  const onDownload = (name: string) => {
14
15
  getResourceUrl(client, object.id, name).then(url => window.open(url, '_blank'));
@@ -33,7 +34,7 @@ export function DownloadPopover({ object }: DownloadPopoverProps) {
33
34
  variant="ghost"
34
35
  size="xs"
35
36
  onClick={() => onDownload("document.md")}
36
- alt="Download"
37
+ alt={t('pdf.download')}
37
38
  >
38
39
  <Download className='size-4' />
39
40
  </Button>
@@ -42,18 +43,18 @@ export function DownloadPopover({ object }: DownloadPopoverProps) {
42
43
 
43
44
  // Default XML processor - multiple options, use popover
44
45
  return (
45
- <Popover strategy='absolute' placement='bottom-start' zIndex={100} offset={8}>
46
- <Popover.Trigger click>
46
+ <Popover>
47
+ <PopoverTrigger>
47
48
  <Button
48
49
  variant="ghost"
49
50
  size="xs"
50
- alt="Download"
51
+ alt={t('pdf.download')}
51
52
  >
52
53
  <Download className='size-4' />
53
54
  </Button>
54
- </Popover.Trigger>
55
- <Popover.Content>
56
- <div className="rounded-md shadow-md border border-border bg-popover min-w-[200px] flex flex-col divide-y divide-border">
55
+ </PopoverTrigger>
56
+ <PopoverContent align="start" className="p-0 w-auto">
57
+ <div className="min-w-[200px] flex flex-col divide-y divide-border">
57
58
  <button className={buttonClass} onClick={() => onDownload("annotated.pdf")}>
58
59
  annotated.pdf
59
60
  </button>
@@ -64,7 +65,7 @@ export function DownloadPopover({ object }: DownloadPopoverProps) {
64
65
  analyzed-pages.json
65
66
  </button>
66
67
  </div>
67
- </Popover.Content>
68
+ </PopoverContent>
68
69
  </Popover>
69
70
  )
70
71
  }
@@ -3,6 +3,7 @@ import { Button, ErrorBox, ResizableHandle, ResizablePanel, ResizablePanelGroup,
3
3
  import { useUserSession } from "@vertesia/ui/session";
4
4
  import { X } from "lucide-react";
5
5
  import { Component, ErrorInfo, ReactNode, useState } from "react";
6
+ import { useUITranslation, i18nInstance, NAMESPACE } from '../../i18n/index.js';
6
7
  import { PdfPageSlider } from "../pdf-viewer/PdfPageSlider";
7
8
  import { AnnotatedImageSlider } from "./AnnotatedImageSlider";
8
9
  import { DownloadPopover } from "./DownloadPopover";
@@ -37,7 +38,7 @@ class PdfViewErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundarySt
37
38
  return (
38
39
  <div className="fixed inset-0 bg-background z-50 flex items-center justify-center">
39
40
  <div className="flex flex-col items-center gap-4 p-8 max-w-md">
40
- <ErrorBox title="Failed to load PDF viewer">
41
+ <ErrorBox title={i18nInstance.t('pdf.failedToLoadViewer', { ns: NAMESPACE })}>
41
42
  {this.state.error?.message || 'An unexpected error occurred'}
42
43
  </ErrorBox>
43
44
  {this.props.onClose && (
@@ -59,6 +60,7 @@ interface MagicPdfViewProps {
59
60
  onClose?: () => void;
60
61
  }
61
62
  export function MagicPdfView({ objectId, onClose }: MagicPdfViewProps) {
63
+ const { t } = useUITranslation();
62
64
  const { client } = useUserSession();
63
65
 
64
66
  const { data: object, error } = useFetch(() => client.store.objects.retrieve(objectId, "+text"), [objectId]);
@@ -67,7 +69,7 @@ export function MagicPdfView({ objectId, onClose }: MagicPdfViewProps) {
67
69
  return (
68
70
  <div className="fixed inset-0 bg-background z-50 flex items-center justify-center">
69
71
  <div className="flex flex-col items-center gap-4 p-8 max-w-md">
70
- <ErrorBox title="Fetching document failed">{error.message}</ErrorBox>
72
+ <ErrorBox title={t('pdf.fetchingDocumentFailed')}>{error.message}</ErrorBox>
71
73
  {onClose && (
72
74
  <Button variant="outline" onClick={onClose}>
73
75
  Close
@@ -88,7 +90,7 @@ export function MagicPdfView({ objectId, onClose }: MagicPdfViewProps) {
88
90
  variant="ghost"
89
91
  size="xs"
90
92
  onClick={onClose}
91
- alt="Close"
93
+ alt={t('pdf.close')}
92
94
  >
93
95
  <X className='size-4' />
94
96
  </Button>
@@ -117,6 +119,7 @@ interface _MagicPdfViewProps {
117
119
  onClose?: () => void;
118
120
  }
119
121
  function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
122
+ const { t } = useUITranslation();
120
123
  const { count: totalPages, pdfUrl, pdfUrlLoading } = useMagicPdfContext();
121
124
 
122
125
  const getProcessorType = (): "xml" | "markdown" => {
@@ -151,7 +154,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
151
154
  <DownloadPopover object={object} />
152
155
  </div>
153
156
  <span className="text-xs text-muted-foreground">
154
- Page {pageNumber} / {totalPages}
157
+ {t('pdf.pageOf', { pageNumber, totalPages })}
155
158
  </span>
156
159
  <div className="flex items-center gap-x-2">
157
160
  {!!onClose && (
@@ -159,7 +162,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
159
162
  variant="ghost"
160
163
  size="xs"
161
164
  onClick={onClose}
162
- alt="Close"
165
+ alt={t('pdf.close')}
163
166
  >
164
167
  <X className='size-4' />
165
168
  </Button>
@@ -196,7 +199,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
196
199
  <DownloadPopover object={object} />
197
200
  </div>
198
201
  <span className="text-xs text-muted-foreground">
199
- Page {pageNumber} / {totalPages}
202
+ {t('pdf.pageOf', { pageNumber, totalPages })}
200
203
  </span>
201
204
  <div className="flex items-center gap-x-2">
202
205
  {!!onClose && (
@@ -204,7 +207,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
204
207
  variant="ghost"
205
208
  size="xs"
206
209
  onClick={onClose}
207
- alt="Close"
210
+ alt={t('pdf.close')}
208
211
  >
209
212
  <X className='size-4' />
210
213
  </Button>