@vertesia/ui 1.5.0-dev.20260901.052906Z → 1.5.0-dev.20260910.051115Z

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 (563) 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/AgentRightPanel.d.ts +2 -3
  61. package/lib/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
  62. package/lib/features/agent/chat/AgentRightPanel.js +3 -3
  63. package/lib/features/agent/chat/AgentRightPanel.js.map +1 -1
  64. package/lib/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  65. package/lib/features/agent/chat/AskUserWidget.js +13 -13
  66. package/lib/features/agent/chat/AskUserWidget.js.map +1 -1
  67. package/lib/features/agent/chat/DocumentPanel.d.ts +7 -7
  68. package/lib/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  69. package/lib/features/agent/chat/DocumentPanel.js +6 -12
  70. package/lib/features/agent/chat/DocumentPanel.js.map +1 -1
  71. package/lib/features/agent/chat/DocumentsTab.d.ts +15 -0
  72. package/lib/features/agent/chat/DocumentsTab.d.ts.map +1 -0
  73. package/lib/features/agent/chat/DocumentsTab.js +33 -0
  74. package/lib/features/agent/chat/DocumentsTab.js.map +1 -0
  75. package/lib/features/agent/chat/JumpingDots.js +1 -1
  76. package/lib/features/agent/chat/JumpingDots.js.map +1 -1
  77. package/lib/features/agent/chat/ModernAgentConversation.js +3 -3
  78. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  79. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  80. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +22 -9
  81. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  82. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -5
  83. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  84. package/lib/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  85. package/lib/features/agent/chat/ModernAgentOutput/Header.js +16 -11
  86. package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  87. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js +1 -1
  88. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js.map +1 -1
  89. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +1 -1
  90. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  91. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  92. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +7 -7
  93. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  94. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js +1 -1
  95. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js.map +1 -1
  96. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  97. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js +10 -10
  98. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  99. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js +1 -1
  100. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js.map +1 -1
  101. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts.map +1 -1
  102. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js +1 -1
  103. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +1 -1
  104. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +17 -17
  105. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  106. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js +1 -1
  107. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  108. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts.map +1 -1
  109. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js +14 -2
  110. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js.map +1 -1
  111. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  112. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +15 -15
  113. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  114. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
  115. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +18 -0
  116. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
  117. package/lib/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  118. package/lib/features/agent/chat/SlidingThinkingIndicator.js +5 -2
  119. package/lib/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  120. package/lib/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  121. package/lib/features/agent/chat/VegaLiteChart.js +6 -2
  122. package/lib/features/agent/chat/VegaLiteChart.js.map +1 -1
  123. package/lib/features/agent/chat/hooks/useDocumentPanel.d.ts +2 -2
  124. package/lib/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  125. package/lib/features/agent/chat/hooks/useDocumentPanel.js +0 -18
  126. package/lib/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  127. package/lib/features/errors/RowErrorBoundary.js +1 -1
  128. package/lib/features/errors/RowErrorBoundary.js.map +1 -1
  129. package/lib/features/facets/AgentRunnerFacetsNav.js +1 -1
  130. package/lib/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  131. package/lib/features/facets/utils/VInteractionFacet.d.ts +3 -5
  132. package/lib/features/facets/utils/VInteractionFacet.d.ts.map +1 -1
  133. package/lib/features/facets/utils/VInteractionFacet.js +10 -23
  134. package/lib/features/facets/utils/VInteractionFacet.js.map +1 -1
  135. package/lib/features/facets/utils/VUserFacet.js +1 -1
  136. package/lib/features/facets/utils/VUserFacet.js.map +1 -1
  137. package/lib/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  138. package/lib/features/layout/GenericPageNavHeader.js +4 -1
  139. package/lib/features/layout/GenericPageNavHeader.js.map +1 -1
  140. package/lib/features/layout/NotFoundView.js +1 -1
  141. package/lib/features/layout/NotFoundView.js.map +1 -1
  142. package/lib/features/magic-pdf/AnnotatedImageSlider.js +4 -12
  143. package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  144. package/lib/features/magic-pdf/ExtractedContentView.js +4 -4
  145. package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
  146. package/lib/features/magic-pdf/MagicPdfView.js +1 -1
  147. package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
  148. package/lib/features/oauth/McpConnectionsButton.d.ts.map +1 -1
  149. package/lib/features/oauth/McpConnectionsButton.js +4 -1
  150. package/lib/features/oauth/McpConnectionsButton.js.map +1 -1
  151. package/lib/features/oauth/McpConnectionsDialog.d.ts.map +1 -1
  152. package/lib/features/oauth/McpConnectionsDialog.js +3 -2
  153. package/lib/features/oauth/McpConnectionsDialog.js.map +1 -1
  154. package/lib/features/oauth/useMcpConnections.d.ts +6 -7
  155. package/lib/features/oauth/useMcpConnections.d.ts.map +1 -1
  156. package/lib/features/oauth/useMcpConnections.js +27 -20
  157. package/lib/features/oauth/useMcpConnections.js.map +1 -1
  158. package/lib/features/pdf-viewer/PdfPageRenderer.js +2 -2
  159. package/lib/features/pdf-viewer/PdfPageRenderer.js.map +1 -1
  160. package/lib/features/pdf-viewer/PdfPageSlider.js +3 -3
  161. package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  162. package/lib/features/pdf-viewer/SimplePdfViewer.js +1 -1
  163. package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  164. package/lib/features/permissions/UserPermissionsProvider.d.ts +2 -1
  165. package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  166. package/lib/features/permissions/UserPermissionsProvider.js +35 -22
  167. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  168. package/lib/features/permissions/useRoleMappings.d.ts +19 -0
  169. package/lib/features/permissions/useRoleMappings.d.ts.map +1 -0
  170. package/lib/features/permissions/useRoleMappings.js +87 -0
  171. package/lib/features/permissions/useRoleMappings.js.map +1 -0
  172. package/lib/features/store/collections/SelectCollection.js +1 -1
  173. package/lib/features/store/collections/SelectCollection.js.map +1 -1
  174. package/lib/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  175. package/lib/features/store/objects/DocumentPreviewPanel.js +9 -9
  176. package/lib/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  177. package/lib/features/store/objects/DocumentTable.js +1 -1
  178. package/lib/features/store/objects/DocumentTable.js.map +1 -1
  179. package/lib/features/store/objects/components/DocumentIcon.js +2 -2
  180. package/lib/features/store/objects/components/DocumentIcon.js.map +1 -1
  181. package/lib/features/store/objects/components/DocumentInput.js +1 -1
  182. package/lib/features/store/objects/components/DocumentInput.js.map +1 -1
  183. package/lib/features/store/objects/components/PropertiesEditorModal.js +1 -1
  184. package/lib/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  185. package/lib/features/store/objects/components/SaveVersionConfirmModal.js +1 -1
  186. package/lib/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  187. package/lib/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  188. package/lib/features/store/objects/layout/documentLayout.js +2 -2
  189. package/lib/features/store/objects/layout/documentLayout.js.map +1 -1
  190. package/lib/features/store/objects/selection/SelectionActions.js +1 -1
  191. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  192. package/lib/features/store/types/IntakePolicyEditor.d.ts +10 -1
  193. package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -1
  194. package/lib/features/store/types/IntakePolicyEditor.js +29 -19
  195. package/lib/features/store/types/IntakePolicyEditor.js.map +1 -1
  196. package/lib/features/store/types/IntakePolicyForm.d.ts +1 -1
  197. package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -1
  198. package/lib/features/store/types/IntakePolicyForm.js +5 -3
  199. package/lib/features/store/types/IntakePolicyForm.js.map +1 -1
  200. package/lib/features/store/types/SelectContentTypeModal.js +1 -1
  201. package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
  202. package/lib/features/store/types/TypeRegistry.d.ts +10 -5
  203. package/lib/features/store/types/TypeRegistry.d.ts.map +1 -1
  204. package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts +10 -5
  205. package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts.map +1 -1
  206. package/lib/features/user/UserAvatar.js +2 -2
  207. package/lib/features/user/UserAvatar.js.map +1 -1
  208. package/lib/features/user/UserInfo.d.ts.map +1 -1
  209. package/lib/features/user/UserInfo.js +7 -7
  210. package/lib/features/user/UserInfo.js.map +1 -1
  211. package/lib/features/utils/index.d.ts +1 -0
  212. package/lib/features/utils/index.d.ts.map +1 -1
  213. package/lib/features/utils/index.js +1 -0
  214. package/lib/features/utils/index.js.map +1 -1
  215. package/lib/features/utils/interaction.d.ts +55 -0
  216. package/lib/features/utils/interaction.d.ts.map +1 -0
  217. package/lib/features/utils/interaction.js +77 -0
  218. package/lib/features/utils/interaction.js.map +1 -0
  219. package/lib/features/views/ViewResults.js +2 -2
  220. package/lib/features/views/ViewResults.js.map +1 -1
  221. package/lib/i18n/locales/ar.json +17 -1
  222. package/lib/i18n/locales/de.json +13 -1
  223. package/lib/i18n/locales/en.json +13 -1
  224. package/lib/i18n/locales/es.json +13 -1
  225. package/lib/i18n/locales/fr.json +13 -1
  226. package/lib/i18n/locales/it.json +13 -1
  227. package/lib/i18n/locales/ja.json +13 -1
  228. package/lib/i18n/locales/ko.json +13 -1
  229. package/lib/i18n/locales/pt.json +13 -1
  230. package/lib/i18n/locales/ru.json +15 -1
  231. package/lib/i18n/locales/tr.json +13 -1
  232. package/lib/i18n/locales/zh-TW.json +13 -1
  233. package/lib/i18n/locales/zh.json +13 -1
  234. package/lib/layout/FullHeightLayout.js +2 -2
  235. package/lib/layout/FullHeightLayout.js.map +1 -1
  236. package/lib/layout/Navbar.js +4 -4
  237. package/lib/layout/Navbar.js.map +1 -1
  238. package/lib/layout/Sidebar.js +1 -1
  239. package/lib/layout/Sidebar.js.map +1 -1
  240. package/lib/router/NestedNavigationContext.d.ts +3 -1
  241. package/lib/router/NestedNavigationContext.d.ts.map +1 -1
  242. package/lib/router/NestedNavigationContext.js +2 -2
  243. package/lib/router/NestedNavigationContext.js.map +1 -1
  244. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  245. package/lib/session/UserSessionProvider.js +2 -13
  246. package/lib/session/UserSessionProvider.js.map +1 -1
  247. package/lib/session/auth/authState.d.ts +13 -0
  248. package/lib/session/auth/authState.d.ts.map +1 -0
  249. package/lib/session/auth/authState.js +37 -0
  250. package/lib/session/auth/authState.js.map +1 -0
  251. package/lib/session/auth/domainRouting.d.ts +39 -0
  252. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  253. package/lib/session/auth/domainRouting.js +85 -0
  254. package/lib/session/auth/domainRouting.js.map +1 -1
  255. package/lib/session/auth/useAuthState.d.ts +4 -7
  256. package/lib/session/auth/useAuthState.d.ts.map +1 -1
  257. package/lib/session/auth/useAuthState.js +5 -41
  258. package/lib/session/auth/useAuthState.js.map +1 -1
  259. package/lib/session/index.d.ts +1 -0
  260. package/lib/session/index.d.ts.map +1 -1
  261. package/lib/session/index.js +2 -0
  262. package/lib/session/index.js.map +1 -1
  263. package/lib/shell/SplashScreen.d.ts +1 -1
  264. package/lib/shell/SplashScreen.d.ts.map +1 -1
  265. package/lib/shell/SplashScreen.js +6 -2
  266. package/lib/shell/SplashScreen.js.map +1 -1
  267. package/lib/shell/VertesiaShell.js +1 -1
  268. package/lib/shell/VertesiaShell.js.map +1 -1
  269. package/lib/shell/apps/AppProjectSelector.js +1 -1
  270. package/lib/shell/apps/AppProjectSelector.js.map +1 -1
  271. package/lib/shell/apps/StandaloneApp.js +2 -2
  272. package/lib/shell/apps/StandaloneApp.js.map +1 -1
  273. package/lib/shell/login/SignInPrimitives.js +2 -2
  274. package/lib/shell/login/SignInPrimitives.js.map +1 -1
  275. package/lib/shell/login/SigninScreen.js +1 -1
  276. package/lib/shell/login/SigninScreen.js.map +1 -1
  277. package/lib/shell/login/SignupForm.js +1 -1
  278. package/lib/shell/login/SignupForm.js.map +1 -1
  279. package/lib/shell/login/TerminalLogin.js +2 -2
  280. package/lib/shell/login/TerminalLogin.js.map +1 -1
  281. package/lib/shell/login/UserInfo.d.ts.map +1 -1
  282. package/lib/shell/login/UserInfo.js +1 -1
  283. package/lib/shell/login/UserInfo.js.map +1 -1
  284. package/lib/shell/login/UserSessionMenu.js +1 -1
  285. package/lib/shell/login/UserSessionMenu.js.map +1 -1
  286. package/lib/vertesia-ui-core.js +7 -7
  287. package/lib/vertesia-ui-core.js.map +1 -1
  288. package/lib/vertesia-ui-features.js +179 -182
  289. package/lib/vertesia-ui-features.js.map +1 -1
  290. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js +5 -0
  291. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js.map +1 -0
  292. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js +5 -0
  293. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js.map +1 -0
  294. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js +5 -0
  295. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js.map +1 -0
  296. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js +5 -0
  297. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js.map +1 -0
  298. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js +5 -0
  299. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js.map +1 -0
  300. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js +5 -0
  301. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js.map +1 -0
  302. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js +5 -0
  303. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js.map +1 -0
  304. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js +5 -0
  305. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js.map +1 -0
  306. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js +5 -0
  307. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js.map +1 -0
  308. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js +5 -0
  309. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js.map +1 -0
  310. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js +5 -0
  311. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js.map +1 -0
  312. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js +5 -0
  313. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js.map +1 -0
  314. package/lib/vertesia-ui-i18n.js +2 -2
  315. package/lib/vertesia-ui-layout.js +1 -1
  316. package/lib/vertesia-ui-layout.js.map +1 -1
  317. package/lib/vertesia-ui-rich-text.js +24 -24
  318. package/lib/vertesia-ui-rich-text.js.map +1 -1
  319. package/lib/vertesia-ui-router.js +1 -1
  320. package/lib/vertesia-ui-router.js.map +1 -1
  321. package/lib/vertesia-ui-session.js +1 -1
  322. package/lib/vertesia-ui-session.js.map +1 -1
  323. package/lib/vertesia-ui-shell.js +3 -3
  324. package/lib/vertesia-ui-shell.js.map +1 -1
  325. package/lib/vertesia-ui-widgets.js +54 -54
  326. package/lib/vertesia-ui-widgets.js.map +1 -1
  327. package/lib/widgets/Progress.js +1 -1
  328. package/lib/widgets/Progress.js.map +1 -1
  329. package/lib/widgets/form/Form.js +2 -2
  330. package/lib/widgets/form/Form.js.map +1 -1
  331. package/lib/widgets/form/fields.js +2 -2
  332. package/lib/widgets/form/fields.js.map +1 -1
  333. package/lib/widgets/json-view/JSONView.js +1 -1
  334. package/lib/widgets/json-view/JSONView.js.map +1 -1
  335. package/lib/widgets/markdown/MermaidDiagram.js +1 -1
  336. package/lib/widgets/markdown/MermaidDiagram.js.map +1 -1
  337. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts +7 -2
  338. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -1
  339. package/lib/widgets/markdown/remarkDirectiveHandler.js +19 -4
  340. package/lib/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  341. package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  342. package/lib/widgets/monacoEditor/MonacoEditor.js +4 -2
  343. package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  344. package/lib/widgets/monacoEditor/index.d.ts +1 -0
  345. package/lib/widgets/monacoEditor/index.d.ts.map +1 -1
  346. package/lib/widgets/monacoEditor/index.js +1 -0
  347. package/lib/widgets/monacoEditor/index.js.map +1 -1
  348. package/lib/widgets/monacoEditor/loadMonaco.d.ts +45 -0
  349. package/lib/widgets/monacoEditor/loadMonaco.d.ts.map +1 -0
  350. package/lib/widgets/monacoEditor/loadMonaco.js +62 -0
  351. package/lib/widgets/monacoEditor/loadMonaco.js.map +1 -0
  352. package/lib/widgets/properties/PropertiesView.js +1 -1
  353. package/lib/widgets/properties/PropertiesView.js.map +1 -1
  354. package/lib/widgets/schema-editor/editor/Editable.js +2 -2
  355. package/lib/widgets/schema-editor/editor/Editable.js.map +1 -1
  356. package/lib/widgets/schema-editor/editor/PropertyEditor.js +1 -1
  357. package/lib/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  358. package/lib/widgets/schema-editor/editor/SchemaEditor.js +2 -2
  359. package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  360. package/lib/widgets/upload/DropZone.js +1 -1
  361. package/lib/widgets/upload/DropZone.js.map +1 -1
  362. package/lib/widgets/upload/UploadResultCategory.d.ts +1 -1
  363. package/lib/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  364. package/lib/widgets/upload/UploadResultCategory.js +3 -3
  365. package/lib/widgets/upload/UploadResultCategory.js.map +1 -1
  366. package/lib/widgets/upload/UploadSummary.js +1 -1
  367. package/lib/widgets/upload/UploadSummary.js.map +1 -1
  368. package/lib/widgets/xml-viewer/components/XMLViewer.d.ts.map +1 -1
  369. package/lib/widgets/xml-viewer/components/XMLViewer.js +7 -3
  370. package/lib/widgets/xml-viewer/components/XMLViewer.js.map +1 -1
  371. package/lib/widgets/xml-viewer/hooks/useCollapsible.d.ts +1 -1
  372. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +11 -13
  373. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
  374. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +41 -14
  375. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
  376. package/package.json +7 -7
  377. package/src/__tests__/contrast.test.ts +1 -0
  378. package/src/core/components/Avatar.tsx +3 -3
  379. package/src/core/components/ComboBox.tsx +1 -1
  380. package/src/core/components/FileUpload.tsx +4 -4
  381. package/src/core/components/Link.tsx +1 -1
  382. package/src/core/components/SelectList.tsx +1 -1
  383. package/src/core/components/SidePanel.tsx +1 -1
  384. package/src/core/components/Spinner.tsx +1 -1
  385. package/src/core/components/TagsInput.tsx +8 -8
  386. package/src/core/components/shadcn/MessageBox.tsx +1 -1
  387. package/src/core/components/shadcn/button.tsx +1 -1
  388. package/src/core/components/shadcn/card.tsx +1 -3
  389. package/src/core/components/shadcn/command.tsx +5 -5
  390. package/src/core/components/shadcn/filters/DynamicLabel.tsx +1 -1
  391. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -3
  392. package/src/core/components/shadcn/input.tsx +3 -3
  393. package/src/core/components/shadcn/modal/ConfirmModal.tsx +3 -3
  394. package/src/core/components/shadcn/modal/dialog.tsx +2 -4
  395. package/src/core/components/shadcn/overflowTabs.tsx +2 -2
  396. package/src/core/components/shadcn/popover.tsx +1 -1
  397. package/src/core/components/shadcn/radioGroup.tsx +5 -7
  398. package/src/core/components/shadcn/selectBox.tsx +1 -1
  399. package/src/core/components/shadcn/tabs.tsx +4 -2
  400. package/src/core/components/styles.ts +1 -1
  401. package/src/core/components/table/index.tsx +1 -1
  402. package/src/core/hooks/useFetch.test.ts +20 -0
  403. package/src/core/hooks/useFetch.ts +2 -0
  404. package/src/css/base.css +1 -1
  405. package/src/css/color.css +4 -0
  406. package/src/css/theme.css +1 -0
  407. package/src/css/typography.css +2 -2
  408. package/src/features/activity-doc/ActivityDoc.tsx +11 -11
  409. package/src/features/agent/chat/AgentChart.tsx +1 -1
  410. package/src/features/agent/chat/AgentRightPanel.tsx +4 -8
  411. package/src/features/agent/chat/AskUserWidget.tsx +19 -23
  412. package/src/features/agent/chat/DocumentPanel.tsx +39 -48
  413. package/src/features/agent/chat/DocumentsTab.test.tsx +87 -0
  414. package/src/features/agent/chat/DocumentsTab.tsx +124 -0
  415. package/src/features/agent/chat/JumpingDots.tsx +3 -3
  416. package/src/features/agent/chat/ModernAgentConversation.test.tsx +0 -1
  417. package/src/features/agent/chat/ModernAgentConversation.tsx +3 -5
  418. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +60 -1
  419. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +44 -24
  420. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +12 -12
  421. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +28 -15
  422. package/src/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.tsx +4 -4
  423. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +2 -2
  424. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +7 -12
  425. package/src/features/agent/chat/ModernAgentOutput/MessagesContainer.tsx +1 -1
  426. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +16 -22
  427. package/src/features/agent/chat/ModernAgentOutput/SlideInPanel.tsx +4 -4
  428. package/src/features/agent/chat/ModernAgentOutput/SlidingMessages.tsx +2 -4
  429. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +21 -21
  430. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +4 -4
  431. package/src/features/agent/chat/ModernAgentOutput/SummaryConversation.ts +16 -1
  432. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +19 -40
  433. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +41 -0
  434. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +19 -0
  435. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +93 -0
  436. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -2
  437. package/src/features/agent/chat/VegaLiteChart.tsx +6 -2
  438. package/src/features/agent/chat/hooks/useDocumentPanel.test.tsx +33 -0
  439. package/src/features/agent/chat/hooks/useDocumentPanel.ts +3 -20
  440. package/src/features/errors/RowErrorBoundary.tsx +1 -1
  441. package/src/features/facets/AgentRunnerFacetsNav.tsx +1 -1
  442. package/src/features/facets/utils/VInteractionFacet.tsx +22 -34
  443. package/src/features/facets/utils/VUserFacet.tsx +1 -1
  444. package/src/features/layout/GenericPageNavHeader.tsx +9 -1
  445. package/src/features/layout/NotFoundView.tsx +1 -1
  446. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +8 -16
  447. package/src/features/magic-pdf/ExtractedContentView.tsx +4 -4
  448. package/src/features/magic-pdf/MagicPdfView.tsx +1 -1
  449. package/src/features/oauth/McpConnectionsButton.test.tsx +79 -8
  450. package/src/features/oauth/McpConnectionsButton.tsx +6 -3
  451. package/src/features/oauth/McpConnectionsDialog.tsx +9 -3
  452. package/src/features/oauth/useMcpConnections.ts +33 -27
  453. package/src/features/pdf-viewer/PdfPageRenderer.tsx +2 -2
  454. package/src/features/pdf-viewer/PdfPageSlider.tsx +4 -4
  455. package/src/features/pdf-viewer/SimplePdfViewer.tsx +1 -1
  456. package/src/features/permissions/UserPermissionsProvider.test.tsx +172 -0
  457. package/src/features/permissions/UserPermissionsProvider.tsx +68 -21
  458. package/src/features/permissions/useRoleMappings.ts +105 -0
  459. package/src/features/store/collections/SelectCollection.tsx +1 -1
  460. package/src/features/store/objects/DocumentPreviewPanel.tsx +43 -53
  461. package/src/features/store/objects/DocumentTable.tsx +2 -2
  462. package/src/features/store/objects/components/DocumentIcon.tsx +4 -4
  463. package/src/features/store/objects/components/DocumentInput.tsx +3 -3
  464. package/src/features/store/objects/components/PropertiesEditorModal.tsx +2 -2
  465. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +2 -2
  466. package/src/features/store/objects/layout/documentLayout.tsx +2 -4
  467. package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
  468. package/src/features/store/types/IntakePolicyEditor.tsx +70 -36
  469. package/src/features/store/types/IntakePolicyForm.tsx +11 -3
  470. package/src/features/store/types/SelectContentTypeModal.tsx +1 -1
  471. package/src/features/user/UserAvatar.tsx +3 -3
  472. package/src/features/user/UserInfo.tsx +11 -16
  473. package/src/features/utils/index.ts +1 -0
  474. package/src/features/utils/interaction.test.tsx +93 -0
  475. package/src/features/utils/interaction.tsx +125 -0
  476. package/src/features/views/ViewResults.tsx +3 -3
  477. package/src/i18n/locales/ar.json +17 -1
  478. package/src/i18n/locales/de.json +13 -1
  479. package/src/i18n/locales/en.json +13 -1
  480. package/src/i18n/locales/es.json +13 -1
  481. package/src/i18n/locales/fr.json +13 -1
  482. package/src/i18n/locales/it.json +13 -1
  483. package/src/i18n/locales/ja.json +13 -1
  484. package/src/i18n/locales/ko.json +13 -1
  485. package/src/i18n/locales/pt.json +13 -1
  486. package/src/i18n/locales/ru.json +15 -1
  487. package/src/i18n/locales/tr.json +13 -1
  488. package/src/i18n/locales/zh-TW.json +13 -1
  489. package/src/i18n/locales/zh.json +13 -1
  490. package/src/layout/FullHeightLayout.tsx +2 -2
  491. package/src/layout/Navbar.tsx +5 -5
  492. package/src/layout/Sidebar.tsx +1 -1
  493. package/src/router/NestedNavigationContext.test.tsx +54 -0
  494. package/src/router/NestedNavigationContext.tsx +9 -2
  495. package/src/session/UserSessionProvider.tsx +2 -15
  496. package/src/session/auth/authState.test.ts +35 -0
  497. package/src/session/auth/authState.ts +42 -0
  498. package/src/session/auth/domainRouting.test.ts +169 -1
  499. package/src/session/auth/domainRouting.ts +89 -0
  500. package/src/session/auth/useAuthState.ts +5 -49
  501. package/src/session/index.ts +6 -0
  502. package/src/shell/SplashScreen.test.tsx +22 -0
  503. package/src/shell/SplashScreen.tsx +6 -2
  504. package/src/shell/VertesiaShell.tsx +1 -1
  505. package/src/shell/apps/AppProjectSelector.tsx +1 -1
  506. package/src/shell/apps/StandaloneApp.tsx +9 -9
  507. package/src/shell/login/SignInPrimitives.tsx +2 -2
  508. package/src/shell/login/SigninScreen.tsx +1 -1
  509. package/src/shell/login/SignupForm.tsx +2 -2
  510. package/src/shell/login/TerminalLogin.tsx +5 -5
  511. package/src/shell/login/UserInfo.tsx +2 -5
  512. package/src/shell/login/UserSessionMenu.tsx +2 -2
  513. package/src/widgets/Progress.tsx +2 -2
  514. package/src/widgets/form/Form.tsx +4 -4
  515. package/src/widgets/form/fields.tsx +2 -2
  516. package/src/widgets/json-view/JSONView.tsx +1 -6
  517. package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +33 -29
  518. package/src/widgets/markdown/MarkdownRenderer.test.tsx +52 -0
  519. package/src/widgets/markdown/MermaidDiagram.tsx +2 -2
  520. package/src/widgets/markdown/remarkDirectiveHandler.ts +21 -5
  521. package/src/widgets/monacoEditor/MonacoEditor.tsx +4 -2
  522. package/src/widgets/monacoEditor/index.ts +1 -0
  523. package/src/widgets/monacoEditor/loadMonaco.test.ts +63 -0
  524. package/src/widgets/monacoEditor/loadMonaco.ts +70 -0
  525. package/src/widgets/properties/PropertiesView.tsx +1 -1
  526. package/src/widgets/schema-editor/editor/Editable.tsx +2 -2
  527. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +1 -1
  528. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +2 -2
  529. package/src/widgets/upload/DropZone.tsx +1 -1
  530. package/src/widgets/upload/UploadResultCategory.tsx +7 -7
  531. package/src/widgets/upload/UploadSummary.tsx +4 -4
  532. package/src/widgets/xml-viewer/components/XMLViewer.tsx +7 -3
  533. package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +60 -7
  534. package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +70 -16
  535. package/lib/features/agent/chat/DocumentTabBar.d.ts +0 -9
  536. package/lib/features/agent/chat/DocumentTabBar.d.ts.map +0 -1
  537. package/lib/features/agent/chat/DocumentTabBar.js +0 -9
  538. package/lib/features/agent/chat/DocumentTabBar.js.map +0 -1
  539. package/lib/vertesia-ui-i18n.BJBGsq-8.chunk.js +0 -5
  540. package/lib/vertesia-ui-i18n.BJBGsq-8.chunk.js.map +0 -1
  541. package/lib/vertesia-ui-i18n.BY5YG5cX.chunk.js +0 -5
  542. package/lib/vertesia-ui-i18n.BY5YG5cX.chunk.js.map +0 -1
  543. package/lib/vertesia-ui-i18n.Bd5_1BXO.chunk.js +0 -5
  544. package/lib/vertesia-ui-i18n.Bd5_1BXO.chunk.js.map +0 -1
  545. package/lib/vertesia-ui-i18n.Bvwej2HH.chunk.js +0 -5
  546. package/lib/vertesia-ui-i18n.Bvwej2HH.chunk.js.map +0 -1
  547. package/lib/vertesia-ui-i18n.CMT3f4gf.chunk.js +0 -5
  548. package/lib/vertesia-ui-i18n.CMT3f4gf.chunk.js.map +0 -1
  549. package/lib/vertesia-ui-i18n.D56DNPJW.chunk.js +0 -5
  550. package/lib/vertesia-ui-i18n.D56DNPJW.chunk.js.map +0 -1
  551. package/lib/vertesia-ui-i18n.DDzKLNx6.chunk.js +0 -5
  552. package/lib/vertesia-ui-i18n.DDzKLNx6.chunk.js.map +0 -1
  553. package/lib/vertesia-ui-i18n.D_Am1LpF.chunk.js +0 -5
  554. package/lib/vertesia-ui-i18n.D_Am1LpF.chunk.js.map +0 -1
  555. package/lib/vertesia-ui-i18n.DrZizgGV.chunk.js +0 -5
  556. package/lib/vertesia-ui-i18n.DrZizgGV.chunk.js.map +0 -1
  557. package/lib/vertesia-ui-i18n.DwHsq86z.chunk.js +0 -5
  558. package/lib/vertesia-ui-i18n.DwHsq86z.chunk.js.map +0 -1
  559. package/lib/vertesia-ui-i18n.PLpo0Bbz.chunk.js +0 -5
  560. package/lib/vertesia-ui-i18n.PLpo0Bbz.chunk.js.map +0 -1
  561. package/lib/vertesia-ui-i18n.xVbXALqz.chunk.js +0 -5
  562. package/lib/vertesia-ui-i18n.xVbXALqz.chunk.js.map +0 -1
  563. package/src/features/agent/chat/DocumentTabBar.tsx +0 -41
@@ -27,7 +27,7 @@ const CommandDialog = ({ children, ...props }: DialogProps) => {
27
27
  return (
28
28
  <Dialog {...props}>
29
29
  <DialogContent className="shadow-lg p-0 overflow-hidden">
30
- <Command className="[&_[cmdk-group]]:px-2 [&_[cmdk-item]]:px-2 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-item]_svg]:w-5 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground">
30
+ <Command className="[&_[cmdk-group]]:px-2 [&_[cmdk-item]]:px-2 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-item]_svg]:w-5 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted">
31
31
  {children}
32
32
  </Command>
33
33
  </DialogContent>
@@ -46,7 +46,7 @@ const CommandInput: React.ForwardRefExoticComponent<
46
46
  ref={ref}
47
47
  className={cn(
48
48
  'focus:ring-0',
49
- 'border-0 flex h-8 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',
49
+ 'border-0 flex h-8 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted disabled:cursor-not-allowed disabled:opacity-50',
50
50
  className,
51
51
  )}
52
52
  {...props}
@@ -86,7 +86,7 @@ const CommandGroup: React.ForwardRefExoticComponent<
86
86
  ref={ref}
87
87
  className={cn(
88
88
  'overflow-y-auto overflow-x-hidden p-1 text-foreground',
89
- '[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground',
89
+ '[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted',
90
90
  className,
91
91
  )}
92
92
  {...props}
@@ -115,7 +115,7 @@ const CommandItem: React.ForwardRefExoticComponent<
115
115
  <CommandPrimitive.Item
116
116
  ref={ref}
117
117
  className={cn(
118
- "hover:bg-muted cursor-pointer relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
118
+ "hover:bg-muted cursor-pointer relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-muted data-[selected=true]:text-muted data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
119
119
  className,
120
120
  )}
121
121
  {...props}
@@ -126,7 +126,7 @@ const CommandItem: React.ForwardRefExoticComponent<
126
126
  CommandItem.displayName = CommandPrimitive.Item.displayName;
127
127
 
128
128
  const CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {
129
- return <span className={cn('ms-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;
129
+ return <span className={cn('ms-auto text-xs tracking-widest text-muted', className)} {...props} />;
130
130
  };
131
131
  CommandShortcut.displayName = 'CommandShortcut';
132
132
 
@@ -38,7 +38,7 @@ export function DynamicLabel({ value, labelRenderer, fallbackLabel }: Readonly<D
38
38
  }, [value, labelRenderer, fallbackLabel]);
39
39
 
40
40
  if (isLoading) {
41
- return <span className="text-muted-foreground">Loading...</span>;
41
+ return <span className="text-muted">Loading...</span>;
42
42
  }
43
43
 
44
44
  return <>{label}</>;
@@ -46,7 +46,7 @@ export const DateCombobox = ({
46
46
  return (
47
47
  <span className="flex items-center gap-1.5">
48
48
  <span className="font-medium">{dayjs(dateRange[0]).format('MMMM DD, YYYY')}</span>
49
- <span className="text-xs text-muted-foreground">-</span>
49
+ <span className="text-xs text-muted">-</span>
50
50
  <span className="font-medium">{dayjs(dateRange[1]).format('MMMM DD, YYYY')}</span>
51
51
  </span>
52
52
  );
@@ -54,11 +54,11 @@ export const DateCombobox = ({
54
54
  return (
55
55
  <span className="flex items-center gap-1.5">
56
56
  <span className="font-medium">{dayjs(dateRange[0]).format('MMMM DD, YYYY')}</span>
57
- <span className="text-xs text-muted-foreground">- Select end</span>
57
+ <span className="text-xs text-muted">- Select end</span>
58
58
  </span>
59
59
  );
60
60
  } else {
61
- return <span className="text-muted-foreground">{t('filter.selectRange')}</span>;
61
+ return <span className="text-muted">{t('filter.selectRange')}</span>;
62
62
  }
63
63
  } else {
64
64
  return selectedDate ? dayjs(selectedDate).format('MMMM DD, YYYY') : 'Pick a date';
@@ -16,11 +16,11 @@ const variants = cva('', {
16
16
  },
17
17
  variant: {
18
18
  default:
19
- 'flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',
19
+ 'flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',
20
20
  unstyled: 'block m-0 p-0 w-full border-0 focus:outline-hidden focus:ring-0 bg-transparent',
21
21
  noPadding:
22
- 'block rounded-md border-0 bg-background shadow-2xs ring-1 ring-inset ring-ring placeholder:text-muted-foreground focus:ring-2 focus:ring-inset focus:ring-ring ring-offset-background',
23
- legacy: 'py-1.5 block rounded-md border-0 bg-background shadow-2xs ring-1 ring-inset ring-ring placeholder:text-muted-foreground focus:ring-2 focus:ring-inset focus:ring-ring ring-offset-background',
22
+ 'block rounded-md border-0 bg-background shadow-2xs ring-1 ring-inset ring-ring placeholder:text-muted focus:ring-2 focus:ring-inset focus:ring-ring ring-offset-background',
23
+ legacy: 'py-1.5 block rounded-md border-0 bg-background shadow-2xs ring-1 ring-inset ring-ring placeholder:text-muted focus:ring-2 focus:ring-inset focus:ring-ring ring-offset-background',
24
24
  },
25
25
  },
26
26
  defaultVariants: {
@@ -65,15 +65,15 @@ export function ConfirmModal({
65
65
  return (
66
66
  <Modal isOpen={isOpen} onClose={onCancel} description="Confirm Modal">
67
67
  <div className="sm:flex sm:items-start p-2">
68
- <div className="mx-auto flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10">
69
- <TriangleAlert className="size-6 text-red-600" aria-hidden="true" />
68
+ <div className="mx-auto flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-destructive sm:mx-0 sm:h-10 sm:w-10">
69
+ <TriangleAlert className="size-6 text-destructive" aria-hidden="true" />
70
70
  </div>
71
71
  <div className="mt-3 text-center sm:ms-4 sm:mt-0 sm:text-start">
72
72
  <ModalTitle className="leading-6" show>
73
73
  {title}
74
74
  </ModalTitle>
75
75
  <div className="mt-2">
76
- <div className="prose text-sm text-gray-500">{content}</div>
76
+ <div className="prose text-sm text-muted">{content}</div>
77
77
  </div>
78
78
  </div>
79
79
  </div>
@@ -91,7 +91,7 @@ export function Modal({
91
91
  <Button
92
92
  variant="outline"
93
93
  title="Close"
94
- className="data-[state=open]:bg-accent opacity-70 hover:opacity-100 rounded-sm focus:outline-none focus:ring-2 focus:ring-ring ring-offset-background focus:ring-offset-2 data-[state=open]:text-muted-foreground transition-opacity disabled:pointer-events-none"
94
+ className="data-[state=open]:bg-muted opacity-70 hover:opacity-100 rounded-sm focus:outline-none focus:ring-2 focus:ring-ring ring-offset-background focus:ring-offset-2 data-[state=open]:text-muted transition-opacity disabled:pointer-events-none"
95
95
  >
96
96
  <X className="size-4" />
97
97
  </Button>
@@ -133,9 +133,7 @@ export const ModalTitle = ({
133
133
  >
134
134
  {children}
135
135
  {description && (
136
- <DialogDescription className="text-sm !font-normal text-muted-foreground pb-2">
137
- {description}
138
- </DialogDescription>
136
+ <DialogDescription className="text-sm !font-normal text-muted pb-2">{description}</DialogDescription>
139
137
  )}
140
138
  </DialogTitle>
141
139
  );
@@ -14,13 +14,13 @@ export type OverflowTabsVariant = 'tabs' | 'pills';
14
14
  const VARIANT_CLASSES: Record<OverflowTabsVariant, { base: string; active: string; inactive: string; icon: string }> = {
15
15
  tabs: {
16
16
  base: 'flex items-center border-b-2 px-2 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer shrink-0',
17
- inactive: 'border-transparent text-muted-foreground hover:border-border hover:text-foreground',
17
+ inactive: 'border-transparent text-muted hover:border-border hover:text-foreground',
18
18
  active: 'border-primary text-primary',
19
19
  icon: 'ms-1 size-4',
20
20
  },
21
21
  pills: {
22
22
  base: 'flex items-center rounded-md px-2 py-1 text-xs font-medium whitespace-nowrap cursor-pointer shrink-0',
23
- inactive: 'text-muted-foreground hover:bg-muted/60',
23
+ inactive: 'text-muted hover:bg-muted/60',
24
24
  active: 'bg-muted text-foreground',
25
25
  icon: 'ms-0.5 size-3.5',
26
26
  },
@@ -102,7 +102,7 @@ const PopoverContent = React.forwardRef<
102
102
  onMouseLeave={() => handleHover(hover, setOpen, 'leave')}
103
103
  // onClick={() => {setOpen(false)}}
104
104
  className={cn(
105
- 'z-50 w-72 rounded-md border-popover bg-popover text-popover-foreground ring-1 ring-gray-200 dark:ring-slate-700 shadow-md focus:outline-none animate-in',
105
+ 'z-50 w-72 rounded-md border-popover bg-popover text-popover-foreground ring-1 ring-border shadow-md focus:outline-none animate-in',
106
106
  // rtl-ok: Radix data-side values are physical popper sides; slide direction follows the side.
107
107
  'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
108
108
  className,
@@ -8,7 +8,7 @@ function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof Rad
8
8
  <RadioGroupPrimitive.Item
9
9
  data-slot="radio-group-item"
10
10
  className={cn(
11
- 'border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 dark:aria-invalid:border-destructive/50 flex size-4 rounded-full focus-visible:ring-3 aria-invalid:ring-3 group/radio-group-item peer relative aspect-square shrink-0 border outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50',
11
+ 'border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 dark:aria-invalid:border-destructive/50 flex size-4 rounded-full focus-visible:ring-3 aria-invalid:ring-3 group/radio-group-item peer relative aspect-square shrink-0 border outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50',
12
12
  className,
13
13
  )}
14
14
  {...props}
@@ -37,7 +37,7 @@ export abstract class RadioGroupAdapter<T> {
37
37
  return undefined;
38
38
  }
39
39
  selectedClassName(_item: T): string {
40
- return 'border-accent-foreground';
40
+ return 'border-muted';
41
41
  }
42
42
  }
43
43
 
@@ -72,7 +72,7 @@ function RadioGroup<T = RadioGroupOption>({ onSelect, selected, options, adapter
72
72
  key={getId(option)}
73
73
  value={getId(option)}
74
74
  className={cn(
75
- 'relative block w-full cursor-pointer rounded-lg border border-border bg-accent px-6 py-4 shadow-2xs text-start',
75
+ 'relative block w-full cursor-pointer rounded-lg border border-border bg-muted px-6 py-4 shadow-2xs text-start',
76
76
  'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
77
77
  'sm:flex sm:justify-between',
78
78
  isSelected && getSelectedClass(option),
@@ -80,10 +80,8 @@ function RadioGroup<T = RadioGroupOption>({ onSelect, selected, options, adapter
80
80
  >
81
81
  <span className="flex items-center">
82
82
  <span className="flex flex-col text-sm">
83
- <span className="font-medium text-text">{getLabel(option)}</span>
84
- {getDescription(option) && (
85
- <span className="text-muted-foreground">{getDescription(option)}</span>
86
- )}
83
+ <span className="font-medium text-foreground">{getLabel(option)}</span>
84
+ {getDescription(option) && <span className="text-muted">{getDescription(option)}</span>}
87
85
  </span>
88
86
  </span>
89
87
  </RadioGroupPrimitive.Item>
@@ -329,7 +329,7 @@ export function SelectBox<T = unknown>({
329
329
  type="button"
330
330
  onClick={addNew}
331
331
  className={clsx(
332
- 'w-full text-start gap-x-2 px-2 py-1.5 truncate group flex rounded-md items-center text-sm cursor-pointer hover:bg-accent bg-transparent border-0',
332
+ 'w-full text-start gap-x-2 px-2 py-1.5 truncate group flex rounded-md items-center text-sm cursor-pointer hover:bg-muted bg-transparent border-0',
333
333
  )}
334
334
  >
335
335
  <SquarePlus size={16} strokeWidth={1.25} absoluteStrokeWidth />
@@ -246,7 +246,9 @@ const TabsBar = ({ className, sticky, direction }: TabsBarProps) => {
246
246
  className={cn(
247
247
  fullWidth ? 'w-full' : '',
248
248
  sticky && 'sticky top-0 bg-background z-10',
249
- direction === 'vertical' ? 'flex-col items-start' : 'flex-row',
249
+ // TabsList's `border-b -mb-px` is the rail under a ROW of tabs. In vertical
250
+ // mode it renders as a stray line beneath the column, so drop it here only.
251
+ direction === 'vertical' ? 'flex-col items-start border-b-0 mb-0' : 'flex-row',
250
252
  responsive ? 'hidden lg:flex' : '',
251
253
  className,
252
254
  )}
@@ -341,7 +343,7 @@ const TabsTrigger: React.ForwardRefExoticComponent<
341
343
  variant === 'tabs'
342
344
  ? cn(
343
345
  'border-b-2 px-2 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer',
344
- 'border-transparent text-muted-foreground hover:border-border hover:text-foreground',
346
+ 'border-transparent text-muted hover:border-border hover:text-foreground',
345
347
  'data-[state=active]:border-primary data-[state=active]:text-primary',
346
348
  'disabled:pointer-events-none disabled:opacity-50',
347
349
  )
@@ -1,6 +1,6 @@
1
1
  const INPUT_UNSTYLED = 'block m-0 p-0 w-full border-0 focus:outline-hidden focus:ring-0 bg-transparent';
2
2
  const INPUT_NO_PADDING =
3
- 'rounded-md text-sm flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50';
3
+ 'rounded-md text-sm flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50';
4
4
  const INPUT = `${INPUT_NO_PADDING} py-1.5`;
5
5
 
6
6
  const Styles = {
@@ -4,7 +4,7 @@ import type React from 'react';
4
4
  const defaultTableCass = `
5
5
  divide-y divide-border
6
6
  [&>tbody]:divide-y [&>tbody]:divide-border
7
- [&_th]:text-start [&_th]:px-3 [&_th]:py-3.5 [&_th]:text-sm [&_th]:font-normal [&_th]:text-muted-foreground
7
+ [&_th]:text-start [&_th]:px-3 [&_th]:py-3.5 [&_th]:text-sm [&_th]:font-normal [&_th]:text-muted
8
8
  [&_td]:px-3 [&_td]:py-4 [&_td]:text-sm
9
9
  `;
10
10
 
@@ -0,0 +1,20 @@
1
+ import { act, renderHook, waitFor } from '@testing-library/react';
2
+ import { describe, expect, it, vi } from 'vitest';
3
+ import { useFetch } from './useFetch';
4
+
5
+ describe('useFetch recovery', () => {
6
+ it('clears a previous error when refetching and after success', async () => {
7
+ const fetcher = vi
8
+ .fn<() => Promise<string>>()
9
+ .mockRejectedValueOnce(new Error('Unavailable'))
10
+ .mockResolvedValueOnce('recovered');
11
+ const { result } = renderHook(() => useFetch(fetcher, []));
12
+ await waitFor(() => expect(result.current.error?.message).toBe('Unavailable'));
13
+ await act(async () => {
14
+ await result.current.refetch();
15
+ });
16
+ expect(result.current.error).toBeUndefined();
17
+ expect(result.current.data).toBe('recovered');
18
+ expect(result.current.isLoading).toBe(false);
19
+ });
20
+ });
@@ -30,9 +30,11 @@ export function useFetch<T = unknown>(fetcher: () => Promise<T>, opts?: FetchOpt
30
30
  const currentOptions = optionsRef.current;
31
31
  currentOptions.start?.();
32
32
  setIsLoading(true);
33
+ setError(undefined);
33
34
  return fetcherRef
34
35
  .current()
35
36
  .then((result: T) => {
37
+ setError(undefined);
36
38
  setData(result);
37
39
  currentOptions.onSuccess?.(result);
38
40
  })
package/src/css/base.css CHANGED
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  body {
12
- @apply bg-background text-foreground selection:bg-blue-300 selection:text-blue-900;
12
+ @apply bg-background text-foreground selection:bg-info selection:text-info;
13
13
  min-height: 100%;
14
14
  margin: 0;
15
15
  padding: 0;
package/src/css/color.css CHANGED
@@ -9,6 +9,7 @@
9
9
  --tooltips: oklch(97% 0.014 254.604); /* Light Blue */
10
10
 
11
11
  --primary: oklch(44.72% 0.193316 261.0044); /* Dark Blue */
12
+ --primary-foreground: oklch(1 0 0); /* White - text on the --primary surface */
12
13
  --primary-background: oklch(99.26% 0.0105 196.99); /* Light Blue */
13
14
 
14
15
  --secondary: oklch(0.205 0 0);
@@ -63,6 +64,7 @@
63
64
  --preprod: oklch(63.89% 0.103 201.59);
64
65
  --preview: oklch(46.95% 0.233 303.17);
65
66
  --development: oklch(44.30% 0.193 261.11);
67
+ --production: oklch(50.5% 0.213 27.518); /* Dark Red */
66
68
  }
67
69
 
68
70
  .dark {
@@ -77,6 +79,7 @@
77
79
  --tooltips: oklch(70.7% 0.165 254.624); /* Mid Blue */
78
80
 
79
81
  --primary: oklch(54% 0.1735 260.17); /* Mid Blue (darkened to clear AA on white) */
82
+ --primary-foreground: oklch(1 0 0); /* White - text on the --primary surface */
80
83
  --primary-background: oklch(1 0 0); /* White */
81
84
 
82
85
  --secondary: oklch(0.985 0 0);
@@ -131,4 +134,5 @@
131
134
  --preprod: oklch(63.89% 0.103 201.59);
132
135
  --preview: oklch(46.95% 0.233 303.17);
133
136
  --development: oklch(44.30% 0.193 261.11);
137
+ --production: oklch(50.5% 0.213 27.518); /* Dark Red */
134
138
  }
package/src/css/theme.css CHANGED
@@ -75,6 +75,7 @@
75
75
  --color-preprod: var(--preprod);
76
76
  --color-preview: var(--preview);
77
77
  --color-development: var(--development);
78
+ --color-production: var(--production);
78
79
 
79
80
  --font-sans:
80
81
  Inter, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
@@ -45,11 +45,11 @@
45
45
  }
46
46
 
47
47
  .vprose blockquote {
48
- @apply border-s-4 border-muted/30 dark:border-muted ps-4 italic text-muted my-3;
48
+ @apply border-s-4 border-muted/30 ps-4 italic text-muted my-3;
49
49
  }
50
50
 
51
51
  .vprose hr {
52
- @apply border-muted/30 dark:border-muted my-4;
52
+ @apply border-muted/30 my-4;
53
53
  }
54
54
 
55
55
  .vprose h1 {
@@ -30,7 +30,7 @@ interface PropertySignatureProps {
30
30
  function PropertySignature({ property }: PropertySignatureProps) {
31
31
  return (
32
32
  <div className="flex items-center gap-x-2">
33
- <div className="font-semibold text-gray-600">{property.name}</div>
33
+ <div className="font-semibold text-muted">{property.name}</div>
34
34
  {property.optional && <Badge>optional</Badge>}
35
35
  <Badge>{property.type.value}</Badge>
36
36
  </div>
@@ -41,7 +41,7 @@ interface ActivitiesDocProps {
41
41
  }
42
42
  export function ActivitiesDoc({ activities }: ActivitiesDocProps) {
43
43
  return (
44
- <div className="flex flex-col gap-y-4 divide-y divide-gray-200">
44
+ <div className="flex flex-col gap-y-4 divide-y divide-border">
45
45
  {activities.map((activity) => (
46
46
  <ActivityDoc key={activity.name} activity={activity} />
47
47
  ))}
@@ -55,8 +55,8 @@ interface ActivitySectionTitleProps {
55
55
  }
56
56
  function ActivitySectionTitle({ code, children }: ActivitySectionTitleProps) {
57
57
  return (
58
- <div className="flex gap-2 items-center border-b border-b-gray-200 mb-2">
59
- <div className="text-lg font-medium text-gray-900 py-2 ">{children}</div>
58
+ <div className="flex gap-2 items-center border-b border-b-border mb-2">
59
+ <div className="text-lg font-medium text-foreground py-2 ">{children}</div>
60
60
  {code && (
61
61
  <div>
62
62
  <Badge>{code}</Badge>
@@ -77,11 +77,11 @@ export function ActivityDoc({ activity, headingClass, headingRef }: ActivityDocP
77
77
  <div className="pb-4">
78
78
  <Badge>{activity.name}</Badge>
79
79
  </div>
80
- {activity.doc && <div className="text-gray-700 pb-2">{activity.doc}</div>}
80
+ {activity.doc && <div className="text-foreground pb-2">{activity.doc}</div>}
81
81
 
82
82
  <div className="pb-4">
83
83
  <ActivitySectionTitle code={activity.paramsType}>Parameters</ActivitySectionTitle>
84
- <div className="divide-y divide-gray-100">
84
+ <div className="divide-y divide-border">
85
85
  {activity.params.map((prop) => (
86
86
  <PropertyDetails key={prop.name} property={prop} />
87
87
  ))}
@@ -109,7 +109,7 @@ function PropertyDetails({ property, className }: { className?: string; property
109
109
  return (
110
110
  <div className={clsx('py-2', className)}>
111
111
  <PropertySignature property={property} />
112
- {property.doc && <div className="text-gray-700 text-sm pt-2">{property.doc}</div>}
112
+ {property.doc && <div className="text-foreground text-sm pt-2">{property.doc}</div>}
113
113
  {expandable && <div className="my-2 overflow-hidden">{expandable}</div>}
114
114
  </div>
115
115
  );
@@ -133,9 +133,9 @@ function EnumValuesPanel({ values }: EnumValuesPanelProps) {
133
133
  function ObjectMembersPanel({ members }: { members: ActivityPropertyDefinition[] }) {
134
134
  return (
135
135
  <ExpandablePanel
136
- className="rounded-md border border-gray-200"
136
+ className="rounded-md border border-border"
137
137
  button={(isOn) => (
138
- <div className="px-4 py-2 flex items-center gap-x-2 text-sm font-medium hover:text-blue-600">
138
+ <div className="px-4 py-2 flex items-center gap-x-2 text-sm font-medium hover:text-info">
139
139
  <ExpandIcon isOpen={isOn} />
140
140
  {isOn ? <div>Hide child properties</div> : <div>Show child properties</div>}
141
141
  </div>
@@ -147,7 +147,7 @@ function ObjectMembersPanel({ members }: { members: ActivityPropertyDefinition[]
147
147
 
148
148
  function NestedPropertiesDetails({ properties }: { properties: ActivityPropertyDefinition[] }) {
149
149
  return (
150
- <div className="border-s-2 border-s-blue-200 flex flex-col divide-y divide-gray-100 border-t border-t-gray-200">
150
+ <div className="border-s-2 border-s-info flex flex-col divide-y divide-border border-t border-t-border">
151
151
  {properties.map((prop) => (
152
152
  <PropertyDetails key={prop.name} property={prop} className="px-4 py-2" />
153
153
  ))}
@@ -192,7 +192,7 @@ function ExpandIcon({ isOpen }: ExpandIconProps) {
192
192
  return (
193
193
  <AnimatePresence propagate mode="wait">
194
194
  <motion.div
195
- className="font-mono font-semibold text-gray-400 text-lg"
195
+ className="font-mono font-semibold text-muted text-lg"
196
196
  key="closeIcon"
197
197
  initial={{ rotate: 0 }}
198
198
  animate={{ rotate: isOpen ? 45 : 0 }}
@@ -63,7 +63,7 @@ export const AgentChart = memo(
63
63
  }
64
64
 
65
65
  return (
66
- <div className="my-5 rounded-lg border border-amber-200 bg-amber-50 p-4 text-sm text-amber-900 dark:border-amber-900 dark:bg-amber-950 dark:text-amber-200">
66
+ <div className="my-5 rounded-lg border border-attention bg-attention p-4 text-sm text-attention">
67
67
  Recharts chart rendering has been retired. Use a Vega-Lite chart spec (
68
68
  <code>library: &quot;vega-lite&quot;</code> with <code>spec</code>).
69
69
  </div>
@@ -26,7 +26,7 @@ import {
26
26
  import React, { useCallback, useMemo, useState } from 'react';
27
27
  import { ArtifactsTab } from './ArtifactsTab.js';
28
28
  import { BrowserUseWidget, getLatestBrowserUseByWorkstream } from './BrowserUseWidget.js';
29
- import { DocumentPanel } from './DocumentPanel.js';
29
+ import { DocumentsTab } from './DocumentsTab.js';
30
30
  import InlineSlidingPlanPanel from './ModernAgentOutput/InlineSlidingPlanPanel';
31
31
  import { getConversationUrl } from './ModernAgentOutput/utils.js';
32
32
  import type { OpenDocument } from './types/document.js';
@@ -370,8 +370,7 @@ export interface AgentRightPanelProps {
370
370
  // Documents
371
371
  openDocuments?: OpenDocument[];
372
372
  activeDocumentId?: string | null;
373
- onSelectDocument?: (id: string) => void;
374
- onCloseDocument?: (id: string) => void;
373
+ onSelectDocument?: (id: string | null) => void;
375
374
  onUpdateDocumentTitle?: (id: string, title: string) => void;
376
375
  docRefreshKey?: number;
377
376
  runId?: string;
@@ -415,7 +414,6 @@ function AgentRightPanelComponent({
415
414
  openDocuments = [],
416
415
  activeDocumentId,
417
416
  onSelectDocument,
418
- onCloseDocument,
419
417
  onUpdateDocumentTitle,
420
418
  docRefreshKey = 0,
421
419
  runId,
@@ -533,13 +531,11 @@ function AgentRightPanelComponent({
533
531
  ),
534
532
  content: withTabBoundary(
535
533
  t('agent.documents'),
536
- openDocuments.length > 0 && onSelectDocument && onCloseDocument ? (
537
- <DocumentPanel
538
- isOpen={true}
534
+ openDocuments.length > 0 && onSelectDocument ? (
535
+ <DocumentsTab
539
536
  documents={openDocuments}
540
537
  activeDocumentId={activeDocumentId ?? null}
541
538
  onSelectDocument={onSelectDocument}
542
- onCloseDocument={onCloseDocument}
543
539
  onUpdateDocumentTitle={onUpdateDocumentTitle}
544
540
  refreshKey={docRefreshKey}
545
541
  runId={runId}
@@ -78,22 +78,22 @@ export interface AskUserWidgetProps {
78
78
  const VARIANT_STYLES = {
79
79
  default: {
80
80
  border: 'border-s-attention',
81
- bg: 'bg-amber-50 dark:bg-amber-900/20',
81
+ bg: 'bg-attention',
82
82
  icon: 'text-attention',
83
83
  },
84
84
  warning: {
85
85
  border: 'border-s-destructive',
86
- bg: 'bg-red-50 dark:bg-red-900/20',
86
+ bg: 'bg-destructive',
87
87
  icon: 'text-destructive',
88
88
  },
89
89
  info: {
90
90
  border: 'border-s-info',
91
- bg: 'bg-blue-50 dark:bg-blue-900/20',
91
+ bg: 'bg-info',
92
92
  icon: 'text-info',
93
93
  },
94
94
  success: {
95
95
  border: 'border-s-success',
96
- bg: 'bg-green-50 dark:bg-green-900/20',
96
+ bg: 'bg-success',
97
97
  icon: 'text-success',
98
98
  },
99
99
  };
@@ -382,14 +382,12 @@ export function AskUserWidget({
382
382
  <div className="min-w-0 flex-1">
383
383
  <div className={SCROLLABLE_PROMPT_CLASS}>
384
384
  <div
385
- className={`agent-ask-question prose prose-sm dark:prose-invert max-w-none text-gray-900 dark:text-gray-100 ${questionClassName || ''}`}
385
+ className={`agent-ask-question prose prose-sm dark:prose-invert max-w-none text-foreground ${questionClassName || ''}`}
386
386
  >
387
387
  <MarkdownRenderer>{question}</MarkdownRenderer>
388
388
  </div>
389
389
  {description && (
390
- <p
391
- className={`mt-1 text-sm text-gray-600 dark:text-gray-400 ${descriptionClassName || ''}`}
392
- >
390
+ <p className={`mt-1 text-sm text-muted ${descriptionClassName || ''}`}>
393
391
  {description}
394
392
  </p>
395
393
  )}
@@ -410,8 +408,8 @@ export function AskUserWidget({
410
408
  className={`flex items-start gap-3 px-4 py-3 rounded-lg cursor-pointer transition-colors
411
409
  ${
412
410
  selectedOptions.has(option.id)
413
- ? 'bg-blue-50 dark:bg-blue-900/30 border border-blue-300 dark:border-blue-700'
414
- : 'bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700'
411
+ ? 'bg-info border border-info'
412
+ : 'bg-white dark:bg-muted border border-border hover:bg-muted'
415
413
  }
416
414
  ${isLoading ? 'opacity-50 cursor-not-allowed' : ''}`}
417
415
  >
@@ -420,15 +418,15 @@ export function AskUserWidget({
420
418
  checked={selectedOptions.has(option.id)}
421
419
  onChange={() => toggleOption(option.id)}
422
420
  disabled={isLoading}
423
- className="mt-0.5 w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700"
421
+ className="mt-0.5 w-4 h-4 rounded border-border text-info focus:ring-info dark:bg-muted"
424
422
  />
425
423
  <div className="flex-1 overflow-hidden">
426
- <div className="flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-gray-100 break-words">
424
+ <div className="flex items-center gap-2 text-sm font-medium text-foreground break-words">
427
425
  {option.icon}
428
426
  <span className="break-words">{option.label}</span>
429
427
  </div>
430
428
  {option.description && (
431
- <div className="mt-1 text-sm text-gray-500 dark:text-gray-400 break-words whitespace-pre-wrap">
429
+ <div className="mt-1 text-sm text-muted break-words whitespace-pre-wrap">
432
430
  {option.description}
433
431
  </div>
434
432
  )}
@@ -458,26 +456,24 @@ export function AskUserWidget({
458
456
  key={option.id}
459
457
  onClick={() => onSelect?.(option.id)}
460
458
  disabled={isLoading}
461
- className={`w-full h-auto whitespace-normal text-start px-4 py-3 rounded-lg border border-gray-200 dark:border-gray-700
462
- bg-white dark:bg-gray-800
463
- hover:bg-gray-50 dark:hover:bg-gray-700 hover:border-gray-300 dark:hover:border-gray-600
464
- focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1
459
+ className={`w-full h-auto whitespace-normal text-start px-4 py-3 rounded-lg border border-border
460
+ bg-white dark:bg-muted
461
+ hover:bg-muted hover:border-border
462
+ focus:outline-none focus:ring-2 focus:ring-info focus:ring-offset-1
465
463
  transition-colors
466
464
  ${isLoading ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}
467
465
  ${buttonClassName || ''}`}
468
466
  >
469
467
  <div className="flex items-start gap-3">
470
468
  {option.icon && (
471
- <span className="flex-shrink-0 mt-0.5 text-gray-500 dark:text-gray-400">
472
- {option.icon}
473
- </span>
469
+ <span className="flex-shrink-0 mt-0.5 text-muted">{option.icon}</span>
474
470
  )}
475
471
  <div className="flex-1 overflow-hidden">
476
- <div className="font-medium text-sm text-gray-900 dark:text-gray-100 break-words text-center">
472
+ <div className="font-medium text-sm text-foreground break-words text-center">
477
473
  {option.label}
478
474
  </div>
479
475
  {option.description && (
480
- <div className="mt-1 text-sm text-gray-500 dark:text-gray-400 break-words whitespace-pre-wrap">
476
+ <div className="mt-1 text-sm text-muted break-words whitespace-pre-wrap">
481
477
  {option.description}
482
478
  </div>
483
479
  )}
@@ -502,7 +498,7 @@ export function AskUserWidget({
502
498
  onKeyDown={handleKeyDown}
503
499
  placeholder={resolvedPlaceholder}
504
500
  disabled={isLoading}
505
- className={`flex-1 px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800 focus:ring-2 focus:ring-blue-500 focus:border-transparent ${inputClassName || ''}`}
501
+ className={`flex-1 px-3 py-2 text-sm border border-border rounded-md bg-white dark:bg-muted focus:ring-2 focus:ring-info focus:border-transparent ${inputClassName || ''}`}
506
502
  />
507
503
  <Button
508
504
  size="sm"