@vertesia/ui 1.5.0-dev.20260905.011013Z → 1.5.0-dev.20260910.052912Z

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 (508) hide show
  1. package/lib/core/components/Avatar.d.ts.map +1 -1
  2. package/lib/core/components/Avatar.js +3 -3
  3. package/lib/core/components/Avatar.js.map +1 -1
  4. package/lib/core/components/ComboBox.js +1 -1
  5. package/lib/core/components/ComboBox.js.map +1 -1
  6. package/lib/core/components/FileUpload.js +1 -1
  7. package/lib/core/components/FileUpload.js.map +1 -1
  8. package/lib/core/components/Link.js +1 -1
  9. package/lib/core/components/Link.js.map +1 -1
  10. package/lib/core/components/SelectList.js +1 -1
  11. package/lib/core/components/SelectList.js.map +1 -1
  12. package/lib/core/components/SidePanel.js +1 -1
  13. package/lib/core/components/SidePanel.js.map +1 -1
  14. package/lib/core/components/Spinner.js +1 -1
  15. package/lib/core/components/Spinner.js.map +1 -1
  16. package/lib/core/components/TagsInput.js +8 -8
  17. package/lib/core/components/TagsInput.js.map +1 -1
  18. package/lib/core/components/shadcn/MessageBox.js +1 -1
  19. package/lib/core/components/shadcn/MessageBox.js.map +1 -1
  20. package/lib/core/components/shadcn/button.js +1 -1
  21. package/lib/core/components/shadcn/button.js.map +1 -1
  22. package/lib/core/components/shadcn/card.d.ts.map +1 -1
  23. package/lib/core/components/shadcn/card.js +1 -1
  24. package/lib/core/components/shadcn/card.js.map +1 -1
  25. package/lib/core/components/shadcn/command.js +5 -5
  26. package/lib/core/components/shadcn/command.js.map +1 -1
  27. package/lib/core/components/shadcn/filters/DynamicLabel.js +1 -1
  28. package/lib/core/components/shadcn/filters/DynamicLabel.js.map +1 -1
  29. package/lib/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -3
  30. package/lib/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  31. package/lib/core/components/shadcn/input.js +3 -3
  32. package/lib/core/components/shadcn/input.js.map +1 -1
  33. package/lib/core/components/shadcn/modal/ConfirmModal.js +1 -1
  34. package/lib/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
  35. package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
  36. package/lib/core/components/shadcn/modal/dialog.js +2 -2
  37. package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
  38. package/lib/core/components/shadcn/overflowTabs.js +2 -2
  39. package/lib/core/components/shadcn/overflowTabs.js.map +1 -1
  40. package/lib/core/components/shadcn/popover.js +1 -1
  41. package/lib/core/components/shadcn/popover.js.map +1 -1
  42. package/lib/core/components/shadcn/radioGroup.d.ts.map +1 -1
  43. package/lib/core/components/shadcn/radioGroup.js +3 -3
  44. package/lib/core/components/shadcn/radioGroup.js.map +1 -1
  45. package/lib/core/components/shadcn/selectBox.js +1 -1
  46. package/lib/core/components/shadcn/selectBox.js.map +1 -1
  47. package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
  48. package/lib/core/components/shadcn/tabs.js +5 -2
  49. package/lib/core/components/shadcn/tabs.js.map +1 -1
  50. package/lib/core/components/styles.js +1 -1
  51. package/lib/core/components/styles.js.map +1 -1
  52. package/lib/core/components/table/index.js +1 -1
  53. package/lib/core/hooks/useFetch.d.ts.map +1 -1
  54. package/lib/core/hooks/useFetch.js +2 -0
  55. package/lib/core/hooks/useFetch.js.map +1 -1
  56. package/lib/features/activity-doc/ActivityDoc.js +8 -8
  57. package/lib/features/activity-doc/ActivityDoc.js.map +1 -1
  58. package/lib/features/agent/chat/AgentChart.js +1 -1
  59. package/lib/features/agent/chat/AgentChart.js.map +1 -1
  60. package/lib/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  61. package/lib/features/agent/chat/AskUserWidget.js +13 -13
  62. package/lib/features/agent/chat/AskUserWidget.js.map +1 -1
  63. package/lib/features/agent/chat/JumpingDots.js +1 -1
  64. package/lib/features/agent/chat/JumpingDots.js.map +1 -1
  65. package/lib/features/agent/chat/ModernAgentConversation.js +1 -1
  66. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  67. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  68. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +22 -9
  69. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  70. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -5
  71. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  72. package/lib/features/agent/chat/ModernAgentOutput/Header.js +1 -1
  73. package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  74. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js +1 -1
  75. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js.map +1 -1
  76. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +1 -1
  77. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  78. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  79. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +7 -7
  80. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  81. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js +1 -1
  82. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js.map +1 -1
  83. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  84. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js +10 -10
  85. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  86. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js +1 -1
  87. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js.map +1 -1
  88. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts.map +1 -1
  89. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js +1 -1
  90. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +1 -1
  91. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +17 -17
  92. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  93. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js +1 -1
  94. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  95. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts.map +1 -1
  96. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js +14 -2
  97. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js.map +1 -1
  98. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  99. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +15 -15
  100. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  101. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
  102. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +18 -0
  103. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
  104. package/lib/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  105. package/lib/features/agent/chat/SlidingThinkingIndicator.js +5 -2
  106. package/lib/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  107. package/lib/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  108. package/lib/features/agent/chat/VegaLiteChart.js +6 -2
  109. package/lib/features/agent/chat/VegaLiteChart.js.map +1 -1
  110. package/lib/features/errors/RowErrorBoundary.js +1 -1
  111. package/lib/features/errors/RowErrorBoundary.js.map +1 -1
  112. package/lib/features/facets/AgentRunnerFacetsNav.js +1 -1
  113. package/lib/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  114. package/lib/features/facets/utils/VInteractionFacet.d.ts +3 -5
  115. package/lib/features/facets/utils/VInteractionFacet.d.ts.map +1 -1
  116. package/lib/features/facets/utils/VInteractionFacet.js +10 -23
  117. package/lib/features/facets/utils/VInteractionFacet.js.map +1 -1
  118. package/lib/features/facets/utils/VUserFacet.js +1 -1
  119. package/lib/features/facets/utils/VUserFacet.js.map +1 -1
  120. package/lib/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  121. package/lib/features/layout/GenericPageNavHeader.js +4 -1
  122. package/lib/features/layout/GenericPageNavHeader.js.map +1 -1
  123. package/lib/features/layout/NotFoundView.js +1 -1
  124. package/lib/features/layout/NotFoundView.js.map +1 -1
  125. package/lib/features/magic-pdf/AnnotatedImageSlider.js +4 -12
  126. package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  127. package/lib/features/magic-pdf/ExtractedContentView.js +4 -4
  128. package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
  129. package/lib/features/magic-pdf/MagicPdfView.js +1 -1
  130. package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
  131. package/lib/features/pdf-viewer/PdfPageRenderer.js +2 -2
  132. package/lib/features/pdf-viewer/PdfPageRenderer.js.map +1 -1
  133. package/lib/features/pdf-viewer/PdfPageSlider.js +3 -3
  134. package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  135. package/lib/features/pdf-viewer/SimplePdfViewer.js +1 -1
  136. package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  137. package/lib/features/permissions/UserPermissionsProvider.d.ts +2 -1
  138. package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  139. package/lib/features/permissions/UserPermissionsProvider.js +35 -22
  140. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  141. package/lib/features/permissions/useRoleMappings.d.ts +19 -0
  142. package/lib/features/permissions/useRoleMappings.d.ts.map +1 -0
  143. package/lib/features/permissions/useRoleMappings.js +87 -0
  144. package/lib/features/permissions/useRoleMappings.js.map +1 -0
  145. package/lib/features/store/collections/SelectCollection.js +1 -1
  146. package/lib/features/store/collections/SelectCollection.js.map +1 -1
  147. package/lib/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  148. package/lib/features/store/objects/DocumentPreviewPanel.js +9 -9
  149. package/lib/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  150. package/lib/features/store/objects/DocumentTable.js +1 -1
  151. package/lib/features/store/objects/DocumentTable.js.map +1 -1
  152. package/lib/features/store/objects/components/DocumentIcon.js +2 -2
  153. package/lib/features/store/objects/components/DocumentIcon.js.map +1 -1
  154. package/lib/features/store/objects/components/DocumentInput.js +1 -1
  155. package/lib/features/store/objects/components/DocumentInput.js.map +1 -1
  156. package/lib/features/store/objects/components/PropertiesEditorModal.js +1 -1
  157. package/lib/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  158. package/lib/features/store/objects/components/SaveVersionConfirmModal.js +1 -1
  159. package/lib/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  160. package/lib/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  161. package/lib/features/store/objects/layout/documentLayout.js +2 -2
  162. package/lib/features/store/objects/layout/documentLayout.js.map +1 -1
  163. package/lib/features/store/objects/selection/SelectionActions.js +1 -1
  164. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  165. package/lib/features/store/types/IntakePolicyEditor.d.ts +10 -1
  166. package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -1
  167. package/lib/features/store/types/IntakePolicyEditor.js +29 -19
  168. package/lib/features/store/types/IntakePolicyEditor.js.map +1 -1
  169. package/lib/features/store/types/IntakePolicyForm.d.ts +1 -1
  170. package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -1
  171. package/lib/features/store/types/IntakePolicyForm.js +5 -3
  172. package/lib/features/store/types/IntakePolicyForm.js.map +1 -1
  173. package/lib/features/store/types/SelectContentTypeModal.js +1 -1
  174. package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
  175. package/lib/features/user/UserAvatar.js +2 -2
  176. package/lib/features/user/UserAvatar.js.map +1 -1
  177. package/lib/features/user/UserInfo.d.ts.map +1 -1
  178. package/lib/features/user/UserInfo.js +7 -7
  179. package/lib/features/user/UserInfo.js.map +1 -1
  180. package/lib/features/utils/index.d.ts +1 -0
  181. package/lib/features/utils/index.d.ts.map +1 -1
  182. package/lib/features/utils/index.js +1 -0
  183. package/lib/features/utils/index.js.map +1 -1
  184. package/lib/features/utils/interaction.d.ts +55 -0
  185. package/lib/features/utils/interaction.d.ts.map +1 -0
  186. package/lib/features/utils/interaction.js +77 -0
  187. package/lib/features/utils/interaction.js.map +1 -0
  188. package/lib/features/views/ViewResults.js +2 -2
  189. package/lib/features/views/ViewResults.js.map +1 -1
  190. package/lib/i18n/locales/ar.json +7 -1
  191. package/lib/i18n/locales/de.json +7 -1
  192. package/lib/i18n/locales/en.json +7 -1
  193. package/lib/i18n/locales/es.json +7 -1
  194. package/lib/i18n/locales/fr.json +7 -1
  195. package/lib/i18n/locales/it.json +7 -1
  196. package/lib/i18n/locales/ja.json +7 -1
  197. package/lib/i18n/locales/ko.json +7 -1
  198. package/lib/i18n/locales/pt.json +7 -1
  199. package/lib/i18n/locales/ru.json +7 -1
  200. package/lib/i18n/locales/tr.json +7 -1
  201. package/lib/i18n/locales/zh-TW.json +7 -1
  202. package/lib/i18n/locales/zh.json +7 -1
  203. package/lib/layout/FullHeightLayout.js +2 -2
  204. package/lib/layout/FullHeightLayout.js.map +1 -1
  205. package/lib/layout/Navbar.js +4 -4
  206. package/lib/layout/Navbar.js.map +1 -1
  207. package/lib/layout/Sidebar.js +1 -1
  208. package/lib/layout/Sidebar.js.map +1 -1
  209. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  210. package/lib/session/UserSessionProvider.js +2 -13
  211. package/lib/session/UserSessionProvider.js.map +1 -1
  212. package/lib/session/auth/authState.d.ts +13 -0
  213. package/lib/session/auth/authState.d.ts.map +1 -0
  214. package/lib/session/auth/authState.js +37 -0
  215. package/lib/session/auth/authState.js.map +1 -0
  216. package/lib/session/auth/domainRouting.d.ts +39 -0
  217. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  218. package/lib/session/auth/domainRouting.js +85 -0
  219. package/lib/session/auth/domainRouting.js.map +1 -1
  220. package/lib/session/auth/useAuthState.d.ts +4 -7
  221. package/lib/session/auth/useAuthState.d.ts.map +1 -1
  222. package/lib/session/auth/useAuthState.js +5 -41
  223. package/lib/session/auth/useAuthState.js.map +1 -1
  224. package/lib/session/index.d.ts +1 -0
  225. package/lib/session/index.d.ts.map +1 -1
  226. package/lib/session/index.js +2 -0
  227. package/lib/session/index.js.map +1 -1
  228. package/lib/shell/SplashScreen.d.ts +1 -1
  229. package/lib/shell/SplashScreen.d.ts.map +1 -1
  230. package/lib/shell/SplashScreen.js +6 -2
  231. package/lib/shell/SplashScreen.js.map +1 -1
  232. package/lib/shell/VertesiaShell.js +1 -1
  233. package/lib/shell/VertesiaShell.js.map +1 -1
  234. package/lib/shell/apps/AppProjectSelector.js +1 -1
  235. package/lib/shell/apps/AppProjectSelector.js.map +1 -1
  236. package/lib/shell/apps/StandaloneApp.js +2 -2
  237. package/lib/shell/apps/StandaloneApp.js.map +1 -1
  238. package/lib/shell/login/SignInPrimitives.js +2 -2
  239. package/lib/shell/login/SignInPrimitives.js.map +1 -1
  240. package/lib/shell/login/SigninScreen.js +1 -1
  241. package/lib/shell/login/SigninScreen.js.map +1 -1
  242. package/lib/shell/login/SignupForm.js +1 -1
  243. package/lib/shell/login/SignupForm.js.map +1 -1
  244. package/lib/shell/login/TerminalLogin.js +2 -2
  245. package/lib/shell/login/TerminalLogin.js.map +1 -1
  246. package/lib/shell/login/UserInfo.d.ts.map +1 -1
  247. package/lib/shell/login/UserInfo.js +1 -1
  248. package/lib/shell/login/UserInfo.js.map +1 -1
  249. package/lib/shell/login/UserSessionMenu.js +1 -1
  250. package/lib/shell/login/UserSessionMenu.js.map +1 -1
  251. package/lib/vertesia-ui-core.js +7 -7
  252. package/lib/vertesia-ui-core.js.map +1 -1
  253. package/lib/vertesia-ui-features.js +179 -182
  254. package/lib/vertesia-ui-features.js.map +1 -1
  255. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js +5 -0
  256. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js.map +1 -0
  257. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js +5 -0
  258. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js.map +1 -0
  259. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js +5 -0
  260. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js.map +1 -0
  261. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js +5 -0
  262. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js.map +1 -0
  263. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js +5 -0
  264. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js.map +1 -0
  265. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js +5 -0
  266. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js.map +1 -0
  267. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js +5 -0
  268. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js.map +1 -0
  269. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js +5 -0
  270. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js.map +1 -0
  271. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js +5 -0
  272. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js.map +1 -0
  273. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js +5 -0
  274. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js.map +1 -0
  275. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js +5 -0
  276. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js.map +1 -0
  277. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js +5 -0
  278. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js.map +1 -0
  279. package/lib/vertesia-ui-i18n.js +2 -2
  280. package/lib/vertesia-ui-layout.js +1 -1
  281. package/lib/vertesia-ui-layout.js.map +1 -1
  282. package/lib/vertesia-ui-rich-text.js +24 -24
  283. package/lib/vertesia-ui-rich-text.js.map +1 -1
  284. package/lib/vertesia-ui-session.js +1 -1
  285. package/lib/vertesia-ui-session.js.map +1 -1
  286. package/lib/vertesia-ui-shell.js +3 -3
  287. package/lib/vertesia-ui-shell.js.map +1 -1
  288. package/lib/vertesia-ui-widgets.js +54 -54
  289. package/lib/vertesia-ui-widgets.js.map +1 -1
  290. package/lib/widgets/Progress.js +1 -1
  291. package/lib/widgets/Progress.js.map +1 -1
  292. package/lib/widgets/form/Form.js +2 -2
  293. package/lib/widgets/form/Form.js.map +1 -1
  294. package/lib/widgets/form/fields.js +2 -2
  295. package/lib/widgets/form/fields.js.map +1 -1
  296. package/lib/widgets/json-view/JSONView.js +1 -1
  297. package/lib/widgets/json-view/JSONView.js.map +1 -1
  298. package/lib/widgets/markdown/MermaidDiagram.js +1 -1
  299. package/lib/widgets/markdown/MermaidDiagram.js.map +1 -1
  300. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts +7 -2
  301. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -1
  302. package/lib/widgets/markdown/remarkDirectiveHandler.js +19 -4
  303. package/lib/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  304. package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  305. package/lib/widgets/monacoEditor/MonacoEditor.js +4 -2
  306. package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  307. package/lib/widgets/monacoEditor/index.d.ts +1 -0
  308. package/lib/widgets/monacoEditor/index.d.ts.map +1 -1
  309. package/lib/widgets/monacoEditor/index.js +1 -0
  310. package/lib/widgets/monacoEditor/index.js.map +1 -1
  311. package/lib/widgets/monacoEditor/loadMonaco.d.ts +45 -0
  312. package/lib/widgets/monacoEditor/loadMonaco.d.ts.map +1 -0
  313. package/lib/widgets/monacoEditor/loadMonaco.js +62 -0
  314. package/lib/widgets/monacoEditor/loadMonaco.js.map +1 -0
  315. package/lib/widgets/properties/PropertiesView.js +1 -1
  316. package/lib/widgets/properties/PropertiesView.js.map +1 -1
  317. package/lib/widgets/schema-editor/editor/Editable.js +2 -2
  318. package/lib/widgets/schema-editor/editor/Editable.js.map +1 -1
  319. package/lib/widgets/schema-editor/editor/PropertyEditor.js +1 -1
  320. package/lib/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  321. package/lib/widgets/schema-editor/editor/SchemaEditor.js +2 -2
  322. package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  323. package/lib/widgets/upload/DropZone.js +1 -1
  324. package/lib/widgets/upload/DropZone.js.map +1 -1
  325. package/lib/widgets/upload/UploadResultCategory.d.ts +1 -1
  326. package/lib/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  327. package/lib/widgets/upload/UploadResultCategory.js +3 -3
  328. package/lib/widgets/upload/UploadResultCategory.js.map +1 -1
  329. package/lib/widgets/upload/UploadSummary.js +1 -1
  330. package/lib/widgets/upload/UploadSummary.js.map +1 -1
  331. package/lib/widgets/xml-viewer/components/XMLViewer.d.ts.map +1 -1
  332. package/lib/widgets/xml-viewer/components/XMLViewer.js +7 -3
  333. package/lib/widgets/xml-viewer/components/XMLViewer.js.map +1 -1
  334. package/lib/widgets/xml-viewer/hooks/useCollapsible.d.ts +1 -1
  335. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +11 -13
  336. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
  337. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +41 -14
  338. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
  339. package/package.json +7 -7
  340. package/src/__tests__/contrast.test.ts +1 -0
  341. package/src/core/components/Avatar.tsx +3 -3
  342. package/src/core/components/ComboBox.tsx +1 -1
  343. package/src/core/components/FileUpload.tsx +4 -4
  344. package/src/core/components/Link.tsx +1 -1
  345. package/src/core/components/SelectList.tsx +1 -1
  346. package/src/core/components/SidePanel.tsx +1 -1
  347. package/src/core/components/Spinner.tsx +1 -1
  348. package/src/core/components/TagsInput.tsx +8 -8
  349. package/src/core/components/shadcn/MessageBox.tsx +1 -1
  350. package/src/core/components/shadcn/button.tsx +1 -1
  351. package/src/core/components/shadcn/card.tsx +1 -3
  352. package/src/core/components/shadcn/command.tsx +5 -5
  353. package/src/core/components/shadcn/filters/DynamicLabel.tsx +1 -1
  354. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -3
  355. package/src/core/components/shadcn/input.tsx +3 -3
  356. package/src/core/components/shadcn/modal/ConfirmModal.tsx +3 -3
  357. package/src/core/components/shadcn/modal/dialog.tsx +2 -4
  358. package/src/core/components/shadcn/overflowTabs.tsx +2 -2
  359. package/src/core/components/shadcn/popover.tsx +1 -1
  360. package/src/core/components/shadcn/radioGroup.tsx +5 -7
  361. package/src/core/components/shadcn/selectBox.tsx +1 -1
  362. package/src/core/components/shadcn/tabs.tsx +4 -2
  363. package/src/core/components/styles.ts +1 -1
  364. package/src/core/components/table/index.tsx +1 -1
  365. package/src/core/hooks/useFetch.test.ts +20 -0
  366. package/src/core/hooks/useFetch.ts +2 -0
  367. package/src/css/base.css +1 -1
  368. package/src/css/color.css +4 -0
  369. package/src/css/theme.css +1 -0
  370. package/src/css/typography.css +2 -2
  371. package/src/features/activity-doc/ActivityDoc.tsx +11 -11
  372. package/src/features/agent/chat/AgentChart.tsx +1 -1
  373. package/src/features/agent/chat/AskUserWidget.tsx +19 -23
  374. package/src/features/agent/chat/JumpingDots.tsx +3 -3
  375. package/src/features/agent/chat/ModernAgentConversation.tsx +3 -3
  376. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +60 -1
  377. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +44 -24
  378. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +12 -12
  379. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +1 -1
  380. package/src/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.tsx +4 -4
  381. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +2 -2
  382. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +7 -12
  383. package/src/features/agent/chat/ModernAgentOutput/MessagesContainer.tsx +1 -1
  384. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +16 -22
  385. package/src/features/agent/chat/ModernAgentOutput/SlideInPanel.tsx +4 -4
  386. package/src/features/agent/chat/ModernAgentOutput/SlidingMessages.tsx +2 -4
  387. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +21 -21
  388. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +4 -4
  389. package/src/features/agent/chat/ModernAgentOutput/SummaryConversation.ts +16 -1
  390. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +19 -40
  391. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +41 -0
  392. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +19 -0
  393. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +93 -0
  394. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -2
  395. package/src/features/agent/chat/VegaLiteChart.tsx +6 -2
  396. package/src/features/errors/RowErrorBoundary.tsx +1 -1
  397. package/src/features/facets/AgentRunnerFacetsNav.tsx +1 -1
  398. package/src/features/facets/utils/VInteractionFacet.tsx +22 -34
  399. package/src/features/facets/utils/VUserFacet.tsx +1 -1
  400. package/src/features/layout/GenericPageNavHeader.tsx +9 -1
  401. package/src/features/layout/NotFoundView.tsx +1 -1
  402. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +8 -16
  403. package/src/features/magic-pdf/ExtractedContentView.tsx +4 -4
  404. package/src/features/magic-pdf/MagicPdfView.tsx +1 -1
  405. package/src/features/pdf-viewer/PdfPageRenderer.tsx +2 -2
  406. package/src/features/pdf-viewer/PdfPageSlider.tsx +4 -4
  407. package/src/features/pdf-viewer/SimplePdfViewer.tsx +1 -1
  408. package/src/features/permissions/UserPermissionsProvider.test.tsx +172 -0
  409. package/src/features/permissions/UserPermissionsProvider.tsx +68 -21
  410. package/src/features/permissions/useRoleMappings.ts +105 -0
  411. package/src/features/store/collections/SelectCollection.tsx +1 -1
  412. package/src/features/store/objects/DocumentPreviewPanel.tsx +43 -53
  413. package/src/features/store/objects/DocumentTable.tsx +2 -2
  414. package/src/features/store/objects/components/DocumentIcon.tsx +4 -4
  415. package/src/features/store/objects/components/DocumentInput.tsx +3 -3
  416. package/src/features/store/objects/components/PropertiesEditorModal.tsx +2 -2
  417. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +2 -2
  418. package/src/features/store/objects/layout/documentLayout.tsx +2 -4
  419. package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
  420. package/src/features/store/types/IntakePolicyEditor.tsx +70 -36
  421. package/src/features/store/types/IntakePolicyForm.tsx +11 -3
  422. package/src/features/store/types/SelectContentTypeModal.tsx +1 -1
  423. package/src/features/user/UserAvatar.tsx +3 -3
  424. package/src/features/user/UserInfo.tsx +11 -16
  425. package/src/features/utils/index.ts +1 -0
  426. package/src/features/utils/interaction.test.tsx +93 -0
  427. package/src/features/utils/interaction.tsx +125 -0
  428. package/src/features/views/ViewResults.tsx +3 -3
  429. package/src/i18n/locales/ar.json +7 -1
  430. package/src/i18n/locales/de.json +7 -1
  431. package/src/i18n/locales/en.json +7 -1
  432. package/src/i18n/locales/es.json +7 -1
  433. package/src/i18n/locales/fr.json +7 -1
  434. package/src/i18n/locales/it.json +7 -1
  435. package/src/i18n/locales/ja.json +7 -1
  436. package/src/i18n/locales/ko.json +7 -1
  437. package/src/i18n/locales/pt.json +7 -1
  438. package/src/i18n/locales/ru.json +7 -1
  439. package/src/i18n/locales/tr.json +7 -1
  440. package/src/i18n/locales/zh-TW.json +7 -1
  441. package/src/i18n/locales/zh.json +7 -1
  442. package/src/layout/FullHeightLayout.tsx +2 -2
  443. package/src/layout/Navbar.tsx +5 -5
  444. package/src/layout/Sidebar.tsx +1 -1
  445. package/src/session/UserSessionProvider.tsx +2 -15
  446. package/src/session/auth/authState.test.ts +35 -0
  447. package/src/session/auth/authState.ts +42 -0
  448. package/src/session/auth/domainRouting.test.ts +169 -1
  449. package/src/session/auth/domainRouting.ts +89 -0
  450. package/src/session/auth/useAuthState.ts +5 -49
  451. package/src/session/index.ts +6 -0
  452. package/src/shell/SplashScreen.test.tsx +22 -0
  453. package/src/shell/SplashScreen.tsx +6 -2
  454. package/src/shell/VertesiaShell.tsx +1 -1
  455. package/src/shell/apps/AppProjectSelector.tsx +1 -1
  456. package/src/shell/apps/StandaloneApp.tsx +9 -9
  457. package/src/shell/login/SignInPrimitives.tsx +2 -2
  458. package/src/shell/login/SigninScreen.tsx +1 -1
  459. package/src/shell/login/SignupForm.tsx +2 -2
  460. package/src/shell/login/TerminalLogin.tsx +5 -5
  461. package/src/shell/login/UserInfo.tsx +2 -5
  462. package/src/shell/login/UserSessionMenu.tsx +2 -2
  463. package/src/widgets/Progress.tsx +2 -2
  464. package/src/widgets/form/Form.tsx +4 -4
  465. package/src/widgets/form/fields.tsx +2 -2
  466. package/src/widgets/json-view/JSONView.tsx +1 -6
  467. package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +33 -29
  468. package/src/widgets/markdown/MarkdownRenderer.test.tsx +52 -0
  469. package/src/widgets/markdown/MermaidDiagram.tsx +2 -2
  470. package/src/widgets/markdown/remarkDirectiveHandler.ts +21 -5
  471. package/src/widgets/monacoEditor/MonacoEditor.tsx +4 -2
  472. package/src/widgets/monacoEditor/index.ts +1 -0
  473. package/src/widgets/monacoEditor/loadMonaco.test.ts +63 -0
  474. package/src/widgets/monacoEditor/loadMonaco.ts +70 -0
  475. package/src/widgets/properties/PropertiesView.tsx +1 -1
  476. package/src/widgets/schema-editor/editor/Editable.tsx +2 -2
  477. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +1 -1
  478. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +2 -2
  479. package/src/widgets/upload/DropZone.tsx +1 -1
  480. package/src/widgets/upload/UploadResultCategory.tsx +7 -7
  481. package/src/widgets/upload/UploadSummary.tsx +4 -4
  482. package/src/widgets/xml-viewer/components/XMLViewer.tsx +7 -3
  483. package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +60 -7
  484. package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +70 -16
  485. package/lib/vertesia-ui-i18n.3yHWompP.chunk.js +0 -5
  486. package/lib/vertesia-ui-i18n.3yHWompP.chunk.js.map +0 -1
  487. package/lib/vertesia-ui-i18n.4XKCcnL0.chunk.js +0 -5
  488. package/lib/vertesia-ui-i18n.4XKCcnL0.chunk.js.map +0 -1
  489. package/lib/vertesia-ui-i18n.78KG4J25.chunk.js +0 -5
  490. package/lib/vertesia-ui-i18n.78KG4J25.chunk.js.map +0 -1
  491. package/lib/vertesia-ui-i18n.BN06mpp1.chunk.js +0 -5
  492. package/lib/vertesia-ui-i18n.BN06mpp1.chunk.js.map +0 -1
  493. package/lib/vertesia-ui-i18n.CSzKLlHJ.chunk.js +0 -5
  494. package/lib/vertesia-ui-i18n.CSzKLlHJ.chunk.js.map +0 -1
  495. package/lib/vertesia-ui-i18n.Ccus7aRh.chunk.js +0 -5
  496. package/lib/vertesia-ui-i18n.Ccus7aRh.chunk.js.map +0 -1
  497. package/lib/vertesia-ui-i18n.D9j3c6gI.chunk.js +0 -5
  498. package/lib/vertesia-ui-i18n.D9j3c6gI.chunk.js.map +0 -1
  499. package/lib/vertesia-ui-i18n.DAUg4rrI.chunk.js +0 -5
  500. package/lib/vertesia-ui-i18n.DAUg4rrI.chunk.js.map +0 -1
  501. package/lib/vertesia-ui-i18n.DSxVZKXy.chunk.js +0 -5
  502. package/lib/vertesia-ui-i18n.DSxVZKXy.chunk.js.map +0 -1
  503. package/lib/vertesia-ui-i18n.aahVhHvR.chunk.js +0 -5
  504. package/lib/vertesia-ui-i18n.aahVhHvR.chunk.js.map +0 -1
  505. package/lib/vertesia-ui-i18n.nZ3xJ26v.chunk.js +0 -5
  506. package/lib/vertesia-ui-i18n.nZ3xJ26v.chunk.js.map +0 -1
  507. package/lib/vertesia-ui-i18n.xPYbuFzT.chunk.js +0 -5
  508. package/lib/vertesia-ui-i18n.xPYbuFzT.chunk.js.map +0 -1
@@ -0,0 +1,105 @@
1
+ import type { VertesiaClient } from '@vertesia/client';
2
+ import type { AuthTokenPayload, SystemRoleDefinition } from '@vertesia/common';
3
+ import { useCallback, useEffect, useMemo, useState } from 'react';
4
+
5
+ type RoleMappingsState =
6
+ | { status: 'loading' | 'retrying' }
7
+ | { status: 'ready'; roles: SystemRoleDefinition[] }
8
+ | { status: 'error'; error?: unknown };
9
+
10
+ export function roleMappingsErrorStatus(error: unknown): number | undefined {
11
+ if (error && typeof error === 'object' && 'status' in error && typeof error.status === 'number') {
12
+ return error.status;
13
+ }
14
+ return undefined;
15
+ }
16
+
17
+ function isTransient(error: unknown): boolean {
18
+ const status = roleMappingsErrorStatus(error);
19
+ return (
20
+ status === 0 ||
21
+ status === 502 ||
22
+ status === 503 ||
23
+ status === 504 ||
24
+ (error instanceof Error && error.name === 'TimeoutError')
25
+ );
26
+ }
27
+
28
+ /** Each session gets an independent, cancellable recovery window. Never reuse another session's roles. */
29
+ export function useRoleMappings(client: VertesiaClient, authToken?: AuthTokenPayload) {
30
+ // UserSession.rawAuthToken decodes the cached JWT on each authenticated request.
31
+ // Object identity would restart recovery on every failure (or success), forever.
32
+ // Preserve all claims in the identity: subject/account/expiry can stay the same
33
+ // when project, roles, or other authorization claims change.
34
+ const tokenKey = useMemo(() => (authToken ? JSON.stringify(authToken) : undefined), [authToken]);
35
+ const needsMappings = Boolean(authToken && !authToken.permissions);
36
+ const [attempt, setAttempt] = useState(0);
37
+ const [result, setResult] = useState<{
38
+ client: VertesiaClient;
39
+ tokenKey: string | undefined;
40
+ attempt: number;
41
+ state: RoleMappingsState;
42
+ }>();
43
+ const retry = useCallback(() => setAttempt((value) => value + 1), []);
44
+
45
+ useEffect(() => {
46
+ if (!needsMappings) return;
47
+
48
+ const controller = new AbortController();
49
+ let stopped = false;
50
+ let failures = 0;
51
+ let lastError: unknown;
52
+ let retryTimer: ReturnType<typeof setTimeout> | undefined;
53
+ const update = (state: RoleMappingsState) => setResult({ client, tokenKey, attempt, state });
54
+ const stop = () => {
55
+ stopped = true;
56
+ clearTimeout(slowTimer);
57
+ clearTimeout(deadlineTimer);
58
+ clearTimeout(retryTimer);
59
+ controller.abort();
60
+ };
61
+ const slowTimer = setTimeout(() => update({ status: 'retrying' }), 5_000);
62
+ // Bound the whole recovery window, including requests that never settle.
63
+ const deadlineTimer = setTimeout(() => {
64
+ stop();
65
+ update({ status: 'error', error: lastError });
66
+ }, 60_000);
67
+
68
+ const fetchRoles = async () => {
69
+ try {
70
+ const roles = await client.iam.roles.listSystem({
71
+ signal: controller.signal,
72
+ timeoutMs: 15_000,
73
+ // This hook owns backoff and the overall deadline, not the client's retry policy.
74
+ retryPolicy: false,
75
+ });
76
+ if (stopped) return;
77
+ stop();
78
+ update({ status: 'ready', roles });
79
+ } catch (error) {
80
+ if (stopped) return;
81
+ lastError = error;
82
+ if (!isTransient(error)) {
83
+ stop();
84
+ update({ status: 'error', error });
85
+ return;
86
+ }
87
+ update({ status: 'retrying' });
88
+ const delay = Math.min(1_000 * 2 ** failures++, 8_000) * (0.5 + Math.random() * 0.5);
89
+ retryTimer = setTimeout(() => {
90
+ void fetchRoles();
91
+ }, delay);
92
+ }
93
+ };
94
+
95
+ update({ status: 'loading' });
96
+ void fetchRoles();
97
+ return stop;
98
+ }, [client, tokenKey, needsMappings, attempt]);
99
+
100
+ const state: RoleMappingsState =
101
+ result?.client === client && result.tokenKey === tokenKey && result.attempt === attempt
102
+ ? result.state
103
+ : { status: 'loading' };
104
+ return { state, retry };
105
+ }
@@ -217,7 +217,7 @@ export function SelectCollection({
217
217
  placeholder={resolvedSearchPlaceholder}
218
218
  value={searchQuery}
219
219
  onValueChange={handleSearchChange}
220
- className="flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"
220
+ className="flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted disabled:cursor-not-allowed disabled:opacity-50"
221
221
  />
222
222
  {isSearching && (
223
223
  <div className="me-2 h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" />
@@ -127,13 +127,13 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
127
127
 
128
128
  return (
129
129
  <div
130
- className={`fixed inset-y-0 end-0 w-2/5 dark:bg-slate-900 shadow-xl z-50 flex flex-col transition-transform duration-300 transform ${panelTranslateClass}`}
130
+ className={`fixed inset-y-0 end-0 w-2/5 dark:bg-muted shadow-xl z-50 flex flex-col transition-transform duration-300 transform ${panelTranslateClass}`}
131
131
  >
132
132
  {/* Header */}
133
- <div className="flex items-center justify-between px-4 py-3 border-b dark:border-gray-700 bg-gradient-to-r from-indigo-50 to-gray-50 dark:from-gray-800 dark:to-gray-900">
133
+ <div className="flex items-center justify-between px-4 py-3 border-b dark:border-border bg-gradient-to-r from-indigo-50 to-gray-50 dark:from-gray-800 dark:to-gray-900">
134
134
  <div className="flex items-center">
135
- <FileText className="h-5 w-5 text-indigo-600 me-2" />
136
- <h2 className="text-lg font-semibold text-gray-800 dark:text-gray-200 truncate">
135
+ <FileText className="h-5 w-5 text-primary me-2" />
136
+ <h2 className="text-lg font-semibold text-foreground truncate">
137
137
  {isLoading ? t('store.loadingDocument') : object?.name || t('store.documentPreview')}
138
138
  </h2>
139
139
  </div>
@@ -142,7 +142,7 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
142
142
  variant="ghost"
143
143
  size="sm"
144
144
  onClick={handleViewFullDocument}
145
- className="flex items-center gap-1 text-indigo-600 hover:text-indigo-800"
145
+ className="flex items-center gap-1 text-primary hover:text-primary"
146
146
  >
147
147
  <Maximize2 className="h-4 w-4" />
148
148
  <span>{t('store.fullView')}</span>
@@ -151,7 +151,7 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
151
151
  variant="ghost"
152
152
  size="sm"
153
153
  onClick={onClose}
154
- className="flex items-center text-gray-600 hover:text-gray-800 dark:text-gray-300 dark:hover:text-gray-100"
154
+ className="flex items-center text-muted hover:text-foreground dark:text-foreground"
155
155
  >
156
156
  <X className="h-5 w-5" />
157
157
  </Button>
@@ -162,8 +162,8 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
162
162
  {isLoading ? (
163
163
  <div className="flex-1 flex items-center justify-center">
164
164
  <div className="text-center">
165
- <Spinner size="lg" className="text-indigo-600 dark:text-indigo-400 mb-2" />
166
- <p className="text-gray-600 dark:text-gray-400">{t('store.loadingDocument')}</p>
165
+ <Spinner size="lg" className="text-primary mb-2" />
166
+ <p className="text-muted">{t('store.loadingDocument')}</p>
167
167
  </div>
168
168
  </div>
169
169
  ) : (
@@ -175,8 +175,8 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
175
175
  variant="unstyled"
176
176
  className={`py-2 px-4 font-medium border-b-2 ${
177
177
  currentTab === 'preview'
178
- ? 'border-indigo-600 text-indigo-700 dark:text-indigo-300'
179
- : 'border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200'
178
+ ? 'border-primary text-primary'
179
+ : 'border-transparent text-muted hover:text-foreground'
180
180
  }`}
181
181
  onClick={() => setCurrentTab('preview')}
182
182
  >
@@ -189,8 +189,8 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
189
189
  variant="unstyled"
190
190
  className={`py-2 px-4 font-medium border-b-2 ${
191
191
  currentTab === 'properties'
192
- ? 'border-indigo-600 text-indigo-700 dark:text-indigo-300'
193
- : 'border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200'
192
+ ? 'border-primary text-primary'
193
+ : 'border-transparent text-muted hover:text-foreground'
194
194
  }`}
195
195
  onClick={() => setCurrentTab('properties')}
196
196
  >
@@ -209,16 +209,16 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
209
209
  {/* Text/Markdown Content */}
210
210
  {loadingText ? (
211
211
  <div className="flex items-center justify-center h-40">
212
- <Spinner size="md" className="text-indigo-600 dark:text-indigo-400" />
212
+ <Spinner size="md" className="text-primary" />
213
213
  </div>
214
214
  ) : text ? (
215
- <div className="shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800">
215
+ <div className="shadow rounded-md p-4 border border-border bg-white dark:bg-muted">
216
216
  {seemsMarkdown ? (
217
- <div className="prose prose-sm max-w-none prose-p:my-2 prose-pre:bg-gray-800 prose-pre:my-2 prose-headings:text-indigo-700 dark:prose-invert dark:prose-headings:text-indigo-300">
217
+ <div className="prose prose-sm max-w-none prose-p:my-2 prose-pre:bg-muted prose-pre:my-2 prose-headings:text-primary dark:prose-invert">
218
218
  <MarkdownRenderer>{text}</MarkdownRenderer>
219
219
  </div>
220
220
  ) : (
221
- <pre className="text-wrap whitespace-pre-wrap dark:text-gray-200">
221
+ <pre className="text-wrap whitespace-pre-wrap dark:text-foreground">
222
222
  {text}
223
223
  </pre>
224
224
  )}
@@ -229,7 +229,7 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
229
229
  {isImage && (
230
230
  <div className="mt-4">
231
231
  {imageUrl ? (
232
- <div className="border border-gray-200 dark:border-gray-700 rounded-md p-2 bg-white dark:bg-gray-800">
232
+ <div className="border border-border rounded-md p-2 bg-white dark:bg-muted">
233
233
  <img
234
234
  src={imageUrl}
235
235
  alt={object?.name}
@@ -238,7 +238,7 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
238
238
  </div>
239
239
  ) : (
240
240
  <div className="flex items-center justify-center h-40">
241
- <Spinner size="md" className="text-indigo-600 dark:text-indigo-400" />
241
+ <Spinner size="md" className="text-primary" />
242
242
  </div>
243
243
  )}
244
244
  </div>
@@ -246,14 +246,12 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
246
246
 
247
247
  {/* PDF Content Notice */}
248
248
  {isPdf && (
249
- <div className="flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800">
250
- <FileText className="h-16 w-16 text-indigo-300 dark:text-indigo-400 mb-4" />
251
- <p className="text-gray-600 dark:text-gray-400 text-center mb-4">
252
- {t('store.pdfPreviewFullView')}
253
- </p>
249
+ <div className="flex flex-col items-center justify-center h-64 border border-border rounded-md p-4 bg-muted">
250
+ <FileText className="h-16 w-16 text-primary mb-4" />
251
+ <p className="text-muted text-center mb-4">{t('store.pdfPreviewFullView')}</p>
254
252
  <Button
255
253
  onClick={handleViewFullDocument}
256
- className="bg-indigo-600 hover:bg-indigo-700 text-white"
254
+ className="bg-primary hover:bg-primary text-white"
257
255
  >
258
256
  {t('store.openFullDocumentView')}
259
257
  </Button>
@@ -262,11 +260,9 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
262
260
 
263
261
  {/* No Content Notice */}
264
262
  {!isImage && !text && !isPdf && !loadingText && (
265
- <div className="flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800">
266
- <FileText className="h-16 w-16 text-gray-300 dark:text-gray-600 mb-4" />
267
- <p className="text-gray-600 dark:text-gray-400 text-center">
268
- {t('store.noPreviewAvailable')}
269
- </p>
263
+ <div className="flex flex-col items-center justify-center h-64 border border-border rounded-md p-4 bg-muted">
264
+ <FileText className="h-16 w-16 text-foreground dark:text-muted mb-4" />
265
+ <p className="text-muted text-center">{t('store.noPreviewAvailable')}</p>
270
266
  </div>
271
267
  )}
272
268
  </div>
@@ -275,56 +271,50 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
275
271
  {currentTab === 'properties' && object && (
276
272
  <div className="h-full">
277
273
  {object.properties ? (
278
- <div className="shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800">
274
+ <div className="shadow rounded-md p-4 border border-border bg-white dark:bg-muted">
279
275
  <JSONDisplay value={object.properties} />
280
276
  </div>
281
277
  ) : (
282
- <div className="flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800">
283
- <Info className="h-16 w-16 text-gray-300 dark:text-gray-600 mb-4" />
284
- <p className="text-gray-600 dark:text-gray-400 text-center">
285
- {t('store.noPropertiesAvailable')}
286
- </p>
278
+ <div className="flex flex-col items-center justify-center h-64 border border-border rounded-md p-4 bg-muted">
279
+ <Info className="h-16 w-16 text-foreground dark:text-muted mb-4" />
280
+ <p className="text-muted text-center">{t('store.noPropertiesAvailable')}</p>
287
281
  </div>
288
282
  )}
289
283
 
290
284
  <div className="mt-4">
291
- <h3 className="text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2">
285
+ <h3 className="text-sm font-semibold text-foreground mb-2">
292
286
  {t('store.documentInformation')}
293
287
  </h3>
294
- <div className="shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800">
288
+ <div className="shadow rounded-md p-4 border border-border bg-white dark:bg-muted">
295
289
  <div className="grid grid-cols-2 gap-y-2 gap-x-4 text-sm">
296
- <div className="text-gray-500 dark:text-gray-400">{t('store.id')}</div>
297
- <div className="font-medium dark:text-gray-200">{object.id}</div>
290
+ <div className="text-muted">{t('store.id')}</div>
291
+ <div className="font-medium dark:text-foreground">{object.id}</div>
298
292
 
299
- <div className="text-gray-500 dark:text-gray-400">
300
- {t('store.contentType')}
301
- </div>
302
- <div className="font-medium dark:text-gray-200">
293
+ <div className="text-muted">{t('store.contentType')}</div>
294
+ <div className="font-medium dark:text-foreground">
303
295
  {object.type?.name || t('store.unknown')}
304
296
  </div>
305
297
 
306
- <div className="text-gray-500 dark:text-gray-400">
307
- {t('store.contentType')}
308
- </div>
309
- <div className="font-medium dark:text-gray-200">
298
+ <div className="text-muted">{t('store.contentType')}</div>
299
+ <div className="font-medium dark:text-foreground">
310
300
  {object.content?.type || t('store.na')}
311
301
  </div>
312
302
 
313
- <div className="text-gray-500">{t('store.size')}</div>
303
+ <div className="text-muted">{t('store.size')}</div>
314
304
  <div className="font-medium">
315
305
  {object.content && 'size' in object.content
316
306
  ? formatFileSize(object.content.size as number)
317
307
  : t('store.unknown')}
318
308
  </div>
319
309
 
320
- <div className="text-gray-500">{t('store.created')}</div>
310
+ <div className="text-muted">{t('store.created')}</div>
321
311
  <div className="font-medium">
322
312
  {object.created_at
323
313
  ? new Date(object.created_at).toLocaleString()
324
314
  : t('store.na')}
325
315
  </div>
326
316
 
327
- <div className="text-gray-500">{t('store.updated')}</div>
317
+ <div className="text-muted">{t('store.updated')}</div>
328
318
  <div className="font-medium">
329
319
  {object.updated_at
330
320
  ? new Date(object.updated_at).toLocaleString()
@@ -340,7 +330,7 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
340
330
  )}
341
331
 
342
332
  {/* Footer actions */}
343
- <div className="flex items-center justify-between p-4 border-t bg-gray-50 dark:bg-gray-800 dark:border-gray-700">
333
+ <div className="flex items-center justify-between p-4 border-t bg-muted dark:border-border">
344
334
  <div>
345
335
  {object?.content?.source && (
346
336
  <Button
@@ -363,14 +353,14 @@ export function DocumentPreviewPanel({ objectId, isOpen, onClose }: DocumentPrev
363
353
  }
364
354
  }}
365
355
  variant="outline"
366
- className="text-indigo-600 border-indigo-300 hover:bg-indigo-50"
356
+ className="text-primary border-primary hover:bg-info"
367
357
  >
368
358
  <Download className="h-4 w-4 me-2" />
369
359
  {t('pdf.download')}
370
360
  </Button>
371
361
  )}
372
362
  </div>
373
- <Button onClick={handleViewFullDocument} className="bg-indigo-600 hover:bg-indigo-700 text-white">
363
+ <Button onClick={handleViewFullDocument} className="bg-primary hover:bg-primary text-white">
374
364
  {t('store.openFullDocument')}
375
365
  <ChevronRight className="h-4 w-4 ms-2 cn-rtl-flip" />
376
366
  </Button>
@@ -213,7 +213,7 @@ function ObjectTableWithDropZone({
213
213
  {/* Loading overlay */}
214
214
  <div
215
215
  className={clsx(
216
- 'bg-white dark:bg-gray-800 opacity-40 absolute inset-0 z-50 flex justify-center items-center',
216
+ 'bg-white dark:bg-muted opacity-40 absolute inset-0 z-50 flex justify-center items-center',
217
217
  isLoading ? 'block' : 'hidden',
218
218
  )}
219
219
  >
@@ -230,7 +230,7 @@ function ObjectTableWithDropZone({
230
230
  onDrop={handleFileDrop}
231
231
  message="Drop files or folders here to upload"
232
232
  className={clsx(
233
- 'absolute inset-0 bg-white/90 dark:bg-gray-800/90 pointer-events-auto',
233
+ 'absolute inset-0 bg-white/90 dark:bg-muted/90 pointer-events-auto',
234
234
  isDragging ? 'flex' : 'hidden',
235
235
  )}
236
236
  buttonLabel="Select Files or Folders"
@@ -80,12 +80,12 @@ export function DocumentIcon({
80
80
 
81
81
  return (
82
82
  <Card
83
- className={`relative flex flex-col border h-fit w-full ${selectedObject?.id === document.id ? 'border-attention border-4' : ''} ${isHighlighted ? 'border-blue-400 dark:border-blue-500 bg-blue-50/50 dark:bg-blue-900/20' : ''}`}
83
+ className={`relative flex flex-col border h-fit w-full ${selectedObject?.id === document.id ? 'border-attention border-4' : ''} ${isHighlighted ? 'border-info bg-info/50 dark:bg-info/20' : ''}`}
84
84
  onClick={() => onRowClick?.(document)}
85
85
  >
86
86
  {isHighlighted && (
87
87
  <div className="absolute top-2 end-8 z-10">
88
- <CheckIcon className="size-4 text-blue-600 dark:text-blue-400" />
88
+ <CheckIcon className="size-4 text-info" />
89
89
  </div>
90
90
  )}
91
91
  {selection && (
@@ -116,11 +116,11 @@ export function DocumentIcon({
116
116
  {renditionUrl && renditionStatus === 'ready' ? (
117
117
  <img src={renditionUrl} alt={renditionAlt} className="w-auto h-48 object-cover rounded-t-xl" />
118
118
  ) : (
119
- <div className="h-48 bg-gray-700 rounded-t-xl flex items-center justify-center text-muted">
119
+ <div className="h-48 bg-muted rounded-t-xl flex items-center justify-center text-muted">
120
120
  {renditionStatus}
121
121
  </div>
122
122
  )}
123
- <Separator className="bg-gray-200 h-[2px]" />
123
+ <Separator className="bg-muted h-[2px]" />
124
124
  <CardContent className="p-2 flex flex-col">
125
125
  <div className="flex flex-col overflow-hidden">
126
126
  <VTooltip placement="top" description={title}>
@@ -73,21 +73,21 @@ export function DocumentInput({ object }: DocumentInputProps) {
73
73
  <Button
74
74
  onClick={clearValue}
75
75
  variant="unstyled"
76
- className="hover:text-red-500 hover:bg-gray-100 dark:hover:bg-gray-600"
76
+ className="hover:text-destructive hover:bg-muted"
77
77
  >
78
78
  <X className="size-5" />
79
79
  </Button>
80
80
  </div>
81
81
  )}
82
82
  <div className="absolute inset-y-0 end-0 flex items-center justify-center">
83
- <Button onClick={on} variant="unstyled" className="hover:bg-gray-100 dark:hover:bg-gray-600">
83
+ <Button onClick={on} variant="unstyled" className="hover:bg-muted">
84
84
  <ChevronsUpDown className="size-5" />
85
85
  </Button>
86
86
  </div>
87
87
  <SelectDocumentModal value={actualValue} isOpen={isOn} onClose={onSelect} />
88
88
  </div>
89
89
  {doc && (
90
- <div className="p-1 semibold text-sm text-gray-600 dark:text-slate-300">
90
+ <div className="p-1 semibold text-sm text-muted dark:text-foreground">
91
91
  {typeof doc.properties?.title === 'string' ? doc.properties.title : doc.name}
92
92
  </div>
93
93
  )}
@@ -196,7 +196,7 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
196
196
  >
197
197
  <ModalTitle>{t('store.editProperties')}</ModalTitle>
198
198
  <ModalBody>
199
- <div className="mb-2 text-sm text-gray-500">
199
+ <div className="mb-2 text-sm text-muted">
200
200
  {object.type?.name ? (
201
201
  <span>
202
202
  Editing properties for object type: <strong>{object.type.name}</strong>
@@ -205,7 +205,7 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
205
205
  <span>{t('store.editingGenericDocument')}</span>
206
206
  )}
207
207
  {jsonSchema !== null && (
208
- <span className="ms-2 text-green-600">(JSON schema validation enabled)</span>
208
+ <span className="ms-2 text-success">(JSON schema validation enabled)</span>
209
209
  )}
210
210
  </div>
211
211
  <div className="h-[75vh] border rounded-md overflow-hidden">
@@ -100,8 +100,8 @@ export function SaveVersionConfirmModal({
100
100
  <ModalBody>
101
101
  <div className="space-y-4">
102
102
  {uploadedFileName && (
103
- <div className="mb-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded-md">
104
- <p className="text-sm text-blue-700 dark:text-blue-300 font-medium">
103
+ <div className="mb-4 p-3 bg-info rounded-md">
104
+ <p className="text-sm text-info font-medium">
105
105
  {t('modal.saveVersion.replaceFile')}{' '}
106
106
  <span className="font-bold">{uploadedFileName}</span>
107
107
  </p>
@@ -53,7 +53,7 @@ export function DocumentTableView({
53
53
  return (
54
54
  <tr
55
55
  key={obj.id}
56
- className={`group cursor-pointer hover:bg-muted ${selectedObject?.id === obj.id ? 'bg-muted' : ''} ${isHighlighted ? 'bg-blue-50 dark:bg-blue-900/20' : ''}`}
56
+ className={`group cursor-pointer hover:bg-muted ${selectedObject?.id === obj.id ? 'bg-muted' : ''} ${isHighlighted ? 'bg-info' : ''}`}
57
57
  onClick={() => {
58
58
  onRowClick?.(obj);
59
59
  }}
@@ -71,9 +71,7 @@ export function DocumentTableView({
71
71
  )}
72
72
  {columns.map((col, index) => col.render(obj, index))}
73
73
  <td className="w-8 text-center">
74
- {isHighlighted && (
75
- <CheckIcon className="size-4 text-blue-600 dark:text-blue-400 inline-block" />
76
- )}
74
+ {isHighlighted && <CheckIcon className="size-4 text-info inline-block" />}
77
75
  </td>
78
76
  </tr>
79
77
  );
@@ -110,7 +110,7 @@ export function UploadObjectsButton({
110
110
  function optionLayout(option: ObjectsActionSpec) {
111
111
  return {
112
112
  label: option.name,
113
- className: clsx('flex-1 px-2 py-2 hover:bg-accent nowrap', option.destructive ? 'text-destructive' : ''),
113
+ className: clsx('flex-1 px-2 py-2 hover:bg-muted nowrap', option.destructive ? 'text-destructive' : ''),
114
114
  };
115
115
  }
116
116