@vertesia/ui 1.5.0-dev.20260722.120446Z → 1.5.0-dev.20260725.083715Z

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 (307) hide show
  1. package/lib/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  2. package/lib/core/components/shadcn/filters/filterBar.js +1 -1
  3. package/lib/core/components/shadcn/filters/filterBar.js.map +1 -1
  4. package/lib/core/components/shadcn/modal/dialog.d.ts +1 -1
  5. package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
  6. package/lib/core/components/shadcn/modal/dialog.js +2 -0
  7. package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
  8. package/lib/core/components/shadcn/tabs.d.ts +12 -1
  9. package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
  10. package/lib/core/components/shadcn/tabs.js +12 -4
  11. package/lib/core/components/shadcn/tabs.js.map +1 -1
  12. package/lib/features/agent/chat/AgentRightPanel.d.ts +5 -1
  13. package/lib/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
  14. package/lib/features/agent/chat/AgentRightPanel.js +2 -2
  15. package/lib/features/agent/chat/AgentRightPanel.js.map +1 -1
  16. package/lib/features/agent/chat/ArtifactsTab.d.ts +5 -1
  17. package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
  18. package/lib/features/agent/chat/ArtifactsTab.js +48 -11
  19. package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
  20. package/lib/features/agent/chat/DocumentEditingActionCard.d.ts +6 -0
  21. package/lib/features/agent/chat/DocumentEditingActionCard.d.ts.map +1 -0
  22. package/lib/features/agent/chat/DocumentEditingActionCard.js +129 -0
  23. package/lib/features/agent/chat/DocumentEditingActionCard.js.map +1 -0
  24. package/lib/features/agent/chat/ModernAgentConversation.d.ts +19 -1
  25. package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  26. package/lib/features/agent/chat/ModernAgentConversation.js +125 -27
  27. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  28. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts +45 -0
  29. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts.map +1 -0
  30. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js +40 -0
  31. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js.map +1 -0
  32. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  33. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  34. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +94 -49
  35. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  36. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts +2 -1
  37. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts.map +1 -1
  38. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js +9 -5
  39. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js.map +1 -1
  40. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts +25 -0
  41. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts.map +1 -0
  42. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js +33 -0
  43. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js.map +1 -0
  44. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +3 -1
  45. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  46. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +22 -24
  47. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  48. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts +14 -0
  49. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts.map +1 -0
  50. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js +21 -0
  51. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js.map +1 -0
  52. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts +30 -0
  53. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts.map +1 -0
  54. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js +53 -0
  55. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js.map +1 -0
  56. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  57. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +21 -2
  58. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  59. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts +6 -0
  60. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts.map +1 -0
  61. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js +29 -0
  62. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js.map +1 -0
  63. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts +33 -0
  64. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts.map +1 -0
  65. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js +129 -0
  66. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js.map +1 -0
  67. package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts +7 -0
  68. package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  69. package/lib/features/agent/chat/ModernAgentOutput/utils.js +11 -1
  70. package/lib/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  71. package/lib/features/agent/chat/hooks/useAgentStream.d.ts +1 -1
  72. package/lib/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  73. package/lib/features/agent/chat/hooks/useAgentStream.js +24 -9
  74. package/lib/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  75. package/lib/features/agent/chat/index.d.ts +2 -1
  76. package/lib/features/agent/chat/index.d.ts.map +1 -1
  77. package/lib/features/agent/chat/index.js +3 -0
  78. package/lib/features/agent/chat/index.js.map +1 -1
  79. package/lib/features/store/objects/DocumentSearchResults.js +2 -2
  80. package/lib/features/store/objects/DocumentSearchResults.js.map +1 -1
  81. package/lib/features/store/objects/components/ContentOverview.d.ts +2 -1
  82. package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  83. package/lib/features/store/objects/components/ContentOverview.js +86 -15
  84. package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
  85. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts +16 -0
  86. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts.map +1 -0
  87. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js +116 -0
  88. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js.map +1 -0
  89. package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts +7 -0
  90. package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts.map +1 -0
  91. package/lib/features/store/objects/components/DocumentEditingLockStatus.js +13 -0
  92. package/lib/features/store/objects/components/DocumentEditingLockStatus.js.map +1 -0
  93. package/lib/features/store/objects/components/DocumentEditingPanel.d.ts +48 -0
  94. package/lib/features/store/objects/components/DocumentEditingPanel.d.ts.map +1 -0
  95. package/lib/features/store/objects/components/DocumentEditingPanel.js +720 -0
  96. package/lib/features/store/objects/components/DocumentEditingPanel.js.map +1 -0
  97. package/lib/features/store/objects/components/TextEditorPanel.d.ts.map +1 -1
  98. package/lib/features/store/objects/components/TextEditorPanel.js +22 -9
  99. package/lib/features/store/objects/components/TextEditorPanel.js.map +1 -1
  100. package/lib/features/store/objects/components/documentArtifactRefs.d.ts +26 -0
  101. package/lib/features/store/objects/components/documentArtifactRefs.d.ts.map +1 -0
  102. package/lib/features/store/objects/components/documentArtifactRefs.js +52 -0
  103. package/lib/features/store/objects/components/documentArtifactRefs.js.map +1 -0
  104. package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts +4 -0
  105. package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts.map +1 -0
  106. package/lib/features/store/objects/components/documentEditingAgentConfig.js +40 -0
  107. package/lib/features/store/objects/components/documentEditingAgentConfig.js.map +1 -0
  108. package/lib/features/store/objects/components/documentEditingPrompts.d.ts +3 -0
  109. package/lib/features/store/objects/components/documentEditingPrompts.d.ts.map +1 -0
  110. package/lib/features/store/objects/components/documentEditingPrompts.js +13 -0
  111. package/lib/features/store/objects/components/documentEditingPrompts.js.map +1 -0
  112. package/lib/features/store/objects/components/documentEditingRun.d.ts +27 -0
  113. package/lib/features/store/objects/components/documentEditingRun.d.ts.map +1 -0
  114. package/lib/features/store/objects/components/documentEditingRun.js +126 -0
  115. package/lib/features/store/objects/components/documentEditingRun.js.map +1 -0
  116. package/lib/features/store/objects/components/documentEditingTarget.d.ts +20 -0
  117. package/lib/features/store/objects/components/documentEditingTarget.d.ts.map +1 -0
  118. package/lib/features/store/objects/components/documentEditingTarget.js +40 -0
  119. package/lib/features/store/objects/components/documentEditingTarget.js.map +1 -0
  120. package/lib/features/store/objects/components/index.d.ts +1 -0
  121. package/lib/features/store/objects/components/index.d.ts.map +1 -1
  122. package/lib/features/store/objects/components/index.js +1 -0
  123. package/lib/features/store/objects/components/index.js.map +1 -1
  124. package/lib/features/store/objects/components/useContentPanelHooks.d.ts +5 -1
  125. package/lib/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  126. package/lib/features/store/objects/components/useContentPanelHooks.js +53 -29
  127. package/lib/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  128. package/lib/features/store/objects/components/useDownloadFile.d.ts +2 -1
  129. package/lib/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  130. package/lib/features/store/objects/components/useDownloadFile.js +3 -0
  131. package/lib/features/store/objects/components/useDownloadFile.js.map +1 -1
  132. package/lib/features/store/objects/selection/actions/StartWorkflowButton.js +1 -1
  133. package/lib/features/store/objects/selection/actions/StartWorkflowButton.js.map +1 -1
  134. package/lib/i18n/locales/ar.json +118 -1
  135. package/lib/i18n/locales/de.json +118 -1
  136. package/lib/i18n/locales/en.json +118 -0
  137. package/lib/i18n/locales/es.json +118 -1
  138. package/lib/i18n/locales/fr.json +118 -1
  139. package/lib/i18n/locales/it.json +118 -1
  140. package/lib/i18n/locales/ja.json +118 -1
  141. package/lib/i18n/locales/ko.json +118 -1
  142. package/lib/i18n/locales/pt.json +118 -1
  143. package/lib/i18n/locales/ru.json +118 -1
  144. package/lib/i18n/locales/tr.json +118 -1
  145. package/lib/i18n/locales/zh-TW.json +118 -1
  146. package/lib/i18n/locales/zh.json +118 -1
  147. package/lib/rich-text/EditorToolbar.d.ts +37 -0
  148. package/lib/rich-text/EditorToolbar.d.ts.map +1 -0
  149. package/lib/rich-text/EditorToolbar.js +215 -0
  150. package/lib/rich-text/EditorToolbar.js.map +1 -0
  151. package/lib/rich-text/VertesiaRichTextEditor.d.ts +26 -0
  152. package/lib/rich-text/VertesiaRichTextEditor.d.ts.map +1 -0
  153. package/lib/rich-text/VertesiaRichTextEditor.js +67 -0
  154. package/lib/rich-text/VertesiaRichTextEditor.js.map +1 -0
  155. package/lib/rich-text/index.d.ts +2 -0
  156. package/lib/rich-text/index.d.ts.map +1 -0
  157. package/lib/rich-text/index.js +2 -0
  158. package/lib/rich-text/index.js.map +1 -0
  159. package/lib/vertesia-ui-core.js +2 -2
  160. package/lib/vertesia-ui-core.js.map +1 -1
  161. package/lib/vertesia-ui-features.js +35 -30
  162. package/lib/vertesia-ui-features.js.map +1 -1
  163. package/lib/vertesia-ui-i18n.js +14 -14
  164. package/lib/vertesia-ui-i18n.js.map +1 -1
  165. package/lib/vertesia-ui-rich-text.js +5 -0
  166. package/lib/vertesia-ui-rich-text.js.map +1 -0
  167. package/lib/vertesia-ui-widgets.js +25 -7
  168. package/lib/vertesia-ui-widgets.js.map +1 -1
  169. package/lib/widgets/markdown/AgentResourceResolver.d.ts +31 -0
  170. package/lib/widgets/markdown/AgentResourceResolver.d.ts.map +1 -0
  171. package/lib/widgets/markdown/AgentResourceResolver.js +39 -0
  172. package/lib/widgets/markdown/AgentResourceResolver.js.map +1 -0
  173. package/lib/widgets/markdown/ArtifactEditingSurface.d.ts +63 -0
  174. package/lib/widgets/markdown/ArtifactEditingSurface.d.ts.map +1 -0
  175. package/lib/widgets/markdown/ArtifactEditingSurface.js +582 -0
  176. package/lib/widgets/markdown/ArtifactEditingSurface.js.map +1 -0
  177. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts +69 -0
  178. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts.map +1 -0
  179. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js +374 -0
  180. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js.map +1 -0
  181. package/lib/widgets/markdown/MarkdownLink.d.ts +3 -1
  182. package/lib/widgets/markdown/MarkdownLink.d.ts.map +1 -1
  183. package/lib/widgets/markdown/MarkdownLink.js +41 -14
  184. package/lib/widgets/markdown/MarkdownLink.js.map +1 -1
  185. package/lib/widgets/markdown/MarkdownRenderer.d.ts +8 -1
  186. package/lib/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  187. package/lib/widgets/markdown/MarkdownRenderer.js +20 -4
  188. package/lib/widgets/markdown/MarkdownRenderer.js.map +1 -1
  189. package/lib/widgets/markdown/index.d.ts +5 -1
  190. package/lib/widgets/markdown/index.d.ts.map +1 -1
  191. package/lib/widgets/markdown/index.js +5 -1
  192. package/lib/widgets/markdown/index.js.map +1 -1
  193. package/lib/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -1
  194. package/lib/widgets/markdown/normalizeCustomSchemeLinks.js +14 -2
  195. package/lib/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -1
  196. package/lib/widgets/markdown/textDiff.d.ts +52 -0
  197. package/lib/widgets/markdown/textDiff.d.ts.map +1 -0
  198. package/lib/widgets/markdown/textDiff.js +362 -0
  199. package/lib/widgets/markdown/textDiff.js.map +1 -0
  200. package/lib/widgets/markdown/useArtifactContent.d.ts +5 -3
  201. package/lib/widgets/markdown/useArtifactContent.d.ts.map +1 -1
  202. package/lib/widgets/markdown/useArtifactContent.js +6 -3
  203. package/lib/widgets/markdown/useArtifactContent.js.map +1 -1
  204. package/lib/widgets/markdown/useResolvedUrl.d.ts +1 -5
  205. package/lib/widgets/markdown/useResolvedUrl.d.ts.map +1 -1
  206. package/lib/widgets/markdown/useResolvedUrl.js +19 -31
  207. package/lib/widgets/markdown/useResolvedUrl.js.map +1 -1
  208. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +9 -0
  209. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
  210. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +20 -17
  211. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
  212. package/package.json +13 -9
  213. package/src/__tests__/a11y.test.tsx +4 -1
  214. package/src/__tests__/axe-helper.ts +17 -7
  215. package/src/__tests__/setup.ts +25 -0
  216. package/src/core/components/shadcn/filters/filterBar.tsx +1 -0
  217. package/src/core/components/shadcn/modal/dialog.tsx +3 -1
  218. package/src/core/components/shadcn/tabs.test.tsx +65 -0
  219. package/src/core/components/shadcn/tabs.tsx +25 -3
  220. package/src/features/agent/chat/AgentRightPanel.tsx +16 -1
  221. package/src/features/agent/chat/ArtifactsTab.test.tsx +55 -0
  222. package/src/features/agent/chat/ArtifactsTab.tsx +203 -52
  223. package/src/features/agent/chat/DocumentEditingActionCard.test.tsx +105 -0
  224. package/src/features/agent/chat/DocumentEditingActionCard.tsx +210 -0
  225. package/src/features/agent/chat/ModernAgentConversation.test.tsx +237 -40
  226. package/src/features/agent/chat/ModernAgentConversation.tsx +247 -75
  227. package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.test.tsx +79 -0
  228. package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.tsx +94 -0
  229. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +257 -34
  230. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +217 -105
  231. package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.tsx +17 -0
  232. package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.test.tsx +44 -0
  233. package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.tsx +88 -0
  234. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +30 -46
  235. package/src/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.tsx +40 -0
  236. package/src/features/agent/chat/ModernAgentOutput/ResourceChip.test.tsx +148 -0
  237. package/src/features/agent/chat/ModernAgentOutput/ResourceChip.tsx +141 -0
  238. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +33 -1
  239. package/src/features/agent/chat/ModernAgentOutput/resourceLinks.tsx +43 -0
  240. package/src/features/agent/chat/ModernAgentOutput/resourceSummary.test.ts +229 -0
  241. package/src/features/agent/chat/ModernAgentOutput/resourceSummary.ts +152 -0
  242. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +17 -0
  243. package/src/features/agent/chat/ModernAgentOutput/utils.ts +14 -1
  244. package/src/features/agent/chat/hooks/useAgentStream.test.tsx +188 -0
  245. package/src/features/agent/chat/hooks/useAgentStream.ts +28 -8
  246. package/src/features/agent/chat/index.ts +11 -0
  247. package/src/features/store/objects/DocumentSearchResults.tsx +2 -2
  248. package/src/features/store/objects/components/ContentOverview.tsx +216 -65
  249. package/src/features/store/objects/components/DocumentEditingConfigurationSelector.test.ts +34 -0
  250. package/src/features/store/objects/components/DocumentEditingConfigurationSelector.tsx +211 -0
  251. package/src/features/store/objects/components/DocumentEditingLockStatus.test.tsx +32 -0
  252. package/src/features/store/objects/components/DocumentEditingLockStatus.tsx +45 -0
  253. package/src/features/store/objects/components/DocumentEditingPanel.test.tsx +336 -0
  254. package/src/features/store/objects/components/DocumentEditingPanel.tsx +1236 -0
  255. package/src/features/store/objects/components/TextEditorPanel.test.tsx +48 -0
  256. package/src/features/store/objects/components/TextEditorPanel.tsx +41 -20
  257. package/src/features/store/objects/components/documentArtifactRefs.test.ts +65 -0
  258. package/src/features/store/objects/components/documentArtifactRefs.ts +72 -0
  259. package/src/features/store/objects/components/documentEditingAgentConfig.test.ts +28 -0
  260. package/src/features/store/objects/components/documentEditingAgentConfig.ts +41 -0
  261. package/src/features/store/objects/components/documentEditingPrompts.test.ts +26 -0
  262. package/src/features/store/objects/components/documentEditingPrompts.ts +12 -0
  263. package/src/features/store/objects/components/documentEditingRun.test.ts +176 -0
  264. package/src/features/store/objects/components/documentEditingRun.ts +184 -0
  265. package/src/features/store/objects/components/documentEditingTarget.test.ts +96 -0
  266. package/src/features/store/objects/components/documentEditingTarget.ts +63 -0
  267. package/src/features/store/objects/components/index.ts +1 -0
  268. package/src/features/store/objects/components/useContentPanelHooks.ts +52 -27
  269. package/src/features/store/objects/components/useDownloadFile.test.ts +20 -0
  270. package/src/features/store/objects/components/useDownloadFile.ts +5 -1
  271. package/src/features/store/objects/selection/actions/StartWorkflowButton.tsx +2 -2
  272. package/src/i18n/locales/ar.json +118 -1
  273. package/src/i18n/locales/de.json +118 -1
  274. package/src/i18n/locales/en.json +118 -0
  275. package/src/i18n/locales/es.json +118 -1
  276. package/src/i18n/locales/fr.json +118 -1
  277. package/src/i18n/locales/it.json +118 -1
  278. package/src/i18n/locales/ja.json +118 -1
  279. package/src/i18n/locales/ko.json +118 -1
  280. package/src/i18n/locales/pt.json +118 -1
  281. package/src/i18n/locales/ru.json +118 -1
  282. package/src/i18n/locales/tr.json +118 -1
  283. package/src/i18n/locales/zh-TW.json +118 -1
  284. package/src/i18n/locales/zh.json +118 -1
  285. package/src/rich-text/EditorToolbar.tsx +708 -0
  286. package/src/rich-text/VertesiaRichTextEditor.test.tsx +211 -0
  287. package/src/rich-text/VertesiaRichTextEditor.tsx +241 -0
  288. package/src/rich-text/index.ts +9 -0
  289. package/src/session/UserSession.test.ts +11 -11
  290. package/src/widgets/markdown/AgentResourceResolver.test.ts +24 -0
  291. package/src/widgets/markdown/AgentResourceResolver.tsx +70 -0
  292. package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +537 -0
  293. package/src/widgets/markdown/ArtifactEditingSurface.tsx +878 -0
  294. package/src/widgets/markdown/CollaborativeMarkdownRenderer.test.tsx +484 -0
  295. package/src/widgets/markdown/CollaborativeMarkdownRenderer.tsx +825 -0
  296. package/src/widgets/markdown/MarkdownLink.test.tsx +122 -0
  297. package/src/widgets/markdown/MarkdownLink.tsx +102 -17
  298. package/src/widgets/markdown/MarkdownRenderer.tsx +30 -3
  299. package/src/widgets/markdown/index.ts +39 -1
  300. package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +15 -2
  301. package/src/widgets/markdown/textDiff.test.ts +156 -0
  302. package/src/widgets/markdown/textDiff.ts +399 -0
  303. package/src/widgets/markdown/useArtifactContent.ts +9 -3
  304. package/src/widgets/markdown/useResolvedUrl.test.ts +29 -40
  305. package/src/widgets/markdown/useResolvedUrl.ts +33 -35
  306. package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +26 -0
  307. package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +23 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textDiff.js","sourceRoot":"","sources":["../../../src/widgets/markdown/textDiff.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * useArtifactContent - Hook to fetch artifact content from GCS
2
+ * useArtifactContent - Hook to fetch artifact content from blob storage
3
3
  *
4
4
  * Used by expand:* code blocks to fetch and render artifact content inline.
5
5
  */
@@ -14,6 +14,8 @@ export interface ArtifactContentState<T = unknown> {
14
14
  error: string | undefined;
15
15
  /** Detected content type */
16
16
  contentType: 'json' | 'text' | 'binary' | undefined;
17
+ /** Storage ETag when exposed by the signed artifact response. */
18
+ etag: string | undefined;
17
19
  /** Retry the fetch */
18
20
  retry: () => void;
19
21
  }
@@ -26,8 +28,8 @@ export interface UseArtifactContentOptions {
26
28
  parseJson?: boolean;
27
29
  }
28
30
  /**
29
- * Hook to fetch artifact content from GCS.
30
- * Handles caching, loading states, and error handling.
31
+ * Hook to fetch artifact content from blob storage.
32
+ * Handles signed-URL caching, loading states, and error handling.
31
33
  *
32
34
  * @example
33
35
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"useArtifactContent.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/useArtifactContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC7C,0CAA0C;IAC1C,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,yBAAyB;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,sBAAsB;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACtC,mDAAmD;IACnD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AA4BD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAAE,EAC5C,KAAK,EACL,IAAI,EACJ,SAAgB,GACnB,EAAE,yBAAyB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAgJrD"}
1
+ {"version":3,"file":"useArtifactContent.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/useArtifactContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC7C,0CAA0C;IAC1C,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,yBAAyB;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,sBAAsB;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACtC,mDAAmD;IACnD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AA4BD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAAE,EAC5C,KAAK,EACL,IAAI,EACJ,SAAgB,GACnB,EAAE,yBAAyB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAoJrD"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * useArtifactContent - Hook to fetch artifact content from GCS
2
+ * useArtifactContent - Hook to fetch artifact content from blob storage
3
3
  *
4
4
  * Used by expand:* code blocks to fetch and render artifact content inline.
5
5
  */
@@ -32,8 +32,8 @@ function detectContentType(path) {
32
32
  }
33
33
  }
34
34
  /**
35
- * Hook to fetch artifact content from GCS.
36
- * Handles caching, loading states, and error handling.
35
+ * Hook to fetch artifact content from blob storage.
36
+ * Handles signed-URL caching, loading states, and error handling.
37
37
  *
38
38
  * @example
39
39
  * ```tsx
@@ -110,6 +110,7 @@ export function useArtifactContent({ runId, path, parseJson = true, }) {
110
110
  isLoading: false,
111
111
  error: undefined,
112
112
  contentType,
113
+ etag: response.headers.get('etag')?.replace(/^"(.*)"$/, '$1'),
113
114
  });
114
115
  return;
115
116
  }
@@ -134,6 +135,7 @@ export function useArtifactContent({ runId, path, parseJson = true, }) {
134
135
  isLoading: false,
135
136
  error: undefined,
136
137
  contentType,
138
+ etag: response.headers.get('etag')?.replace(/^"(.*)"$/, '$1'),
137
139
  });
138
140
  }
139
141
  catch (err) {
@@ -167,6 +169,7 @@ export function useArtifactContent({ runId, path, parseJson = true, }) {
167
169
  isLoading: state.isLoading,
168
170
  error: state.error,
169
171
  contentType: state.contentType,
172
+ etag: state.etag,
170
173
  retry,
171
174
  };
172
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useArtifactContent.js","sourceRoot":"","sources":["../../../src/widgets/markdown/useArtifactContent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useArtifactContent.js","sourceRoot":"","sources":["../../../src/widgets/markdown/useArtifactContent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type UrlScheme = 'artifact' | 'image' | 'store' | 'document' | 'collection' | 'standard';
1
+ export type UrlScheme = 'artifact' | 'image' | 'store' | 'document' | 'collection' | 'interaction' | 'prompt' | 'agent' | 'workflow' | 'process' | 'run' | 'standard';
2
2
  export interface ResolvedUrlState {
3
3
  /** The resolved URL, or undefined if not yet resolved */
4
4
  url: string | undefined;
@@ -26,10 +26,6 @@ export declare function parseUrlScheme(rawUrl: string): {
26
26
  scheme: UrlScheme;
27
27
  path: string;
28
28
  };
29
- /**
30
- * Maps internal URL schemes to application routes
31
- */
32
- export declare function mapSchemeToRoute(scheme: UrlScheme, path: string): string | null;
33
29
  /**
34
30
  * Hook to resolve custom URL schemes (artifact:, image:, etc.) to actual URLs.
35
31
  * Handles caching, loading states, and error handling.
@@ -1 +1 @@
1
- {"version":3,"file":"useResolvedUrl.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/useResolvedUrl.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAEhG,MAAM,WAAW,gBAAgB;IAC7B,yDAAyD;IACzD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8BAA8B;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IAClC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CACzC;AAUD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAiBlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW/E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC3B,MAAM,EACN,aAAa,EACb,WAAsB,GACzB,EAAE,qBAAqB,GAAG,gBAAgB,CAyJ1C"}
1
+ {"version":3,"file":"useResolvedUrl.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/useResolvedUrl.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,SAAS,GACf,UAAU,GACV,OAAO,GACP,OAAO,GACP,UAAU,GACV,YAAY,GACZ,aAAa,GACb,QAAQ,GACR,OAAO,GACP,UAAU,GACV,SAAS,GACT,KAAK,GACL,UAAU,CAAC;AAcjB,MAAM,WAAW,gBAAgB;IAC7B,yDAAyD;IACzD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8BAA8B;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IAClC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CACzC;AAUD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAelF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC3B,MAAM,EACN,aAAa,EACb,WAAsB,GACzB,EAAE,qBAAqB,GAAG,gBAAgB,CAiJ1C"}
@@ -1,6 +1,17 @@
1
1
  import { useUserSession } from '@vertesia/ui/session';
2
2
  import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { getArtifactCacheKey, getFileCacheKey, isProjectFilePath, useArtifactUrlCache, } from '../../features/agent/chat/useArtifactUrlCache';
4
+ const AGENT_RESOURCE_SCHEMES = new Set([
5
+ 'store',
6
+ 'document',
7
+ 'collection',
8
+ 'interaction',
9
+ 'prompt',
10
+ 'agent',
11
+ 'workflow',
12
+ 'process',
13
+ 'run',
14
+ ]);
4
15
  /**
5
16
  * Strip an optional `//` authority (and stray leading slashes) after a scheme colon so
6
17
  * `scheme://path` and `scheme:path` parse identically.
@@ -18,32 +29,15 @@ export function parseUrlScheme(rawUrl) {
18
29
  if (rawUrl.startsWith('image:')) {
19
30
  return { scheme: 'image', path: rawUrl.slice(6).trim() };
20
31
  }
21
- if (rawUrl.startsWith('store:')) {
22
- return { scheme: 'store', path: stripSchemePath(rawUrl.slice(6)) };
23
- }
24
- if (rawUrl.startsWith('document:')) {
25
- return { scheme: 'document', path: stripSchemePath(rawUrl.slice(9)) };
26
- }
27
- if (rawUrl.startsWith('collection:')) {
28
- return { scheme: 'collection', path: stripSchemePath(rawUrl.slice(11)) };
32
+ const colonIndex = rawUrl.indexOf(':');
33
+ if (colonIndex > 0) {
34
+ const scheme = rawUrl.slice(0, colonIndex);
35
+ if (AGENT_RESOURCE_SCHEMES.has(scheme)) {
36
+ return { scheme: scheme, path: stripSchemePath(rawUrl.slice(colonIndex + 1)) };
37
+ }
29
38
  }
30
39
  return { scheme: 'standard', path: rawUrl };
31
40
  }
32
- /**
33
- * Maps internal URL schemes to application routes
34
- */
35
- export function mapSchemeToRoute(scheme, path) {
36
- switch (scheme) {
37
- case 'store':
38
- return path ? `/store/objects/${path}` : null;
39
- case 'document':
40
- return path ? `/store/objects/${path}` : null;
41
- case 'collection':
42
- return path ? `/store/collections/${path}` : null;
43
- default:
44
- return null;
45
- }
46
- }
47
41
  /**
48
42
  * Hook to resolve custom URL schemes (artifact:, image:, etc.) to actual URLs.
49
43
  * Handles caching, loading states, and error handling.
@@ -57,13 +51,7 @@ export function useResolvedUrl({ rawUrl, artifactRunId, disposition = 'inline',
57
51
  const urlCacheRef = useRef(urlCache);
58
52
  urlCacheRef.current = urlCache;
59
53
  const { scheme, path } = parseUrlScheme(rawUrl);
60
- // For schemes that map to routes, resolve immediately
61
- const mappedRoute = mapSchemeToRoute(scheme, path);
62
54
  const [state, setState] = useState(() => {
63
- // If it's a mapped route, use that immediately
64
- if (mappedRoute) {
65
- return { url: mappedRoute, isLoading: false, error: undefined };
66
- }
67
55
  // If it's a standard URL, use as-is
68
56
  if (scheme === 'standard') {
69
57
  return { url: rawUrl, isLoading: false, error: undefined };
@@ -87,7 +75,7 @@ export function useResolvedUrl({ rawUrl, artifactRunId, disposition = 'inline',
87
75
  });
88
76
  const fetchUrl = useCallback(async () => {
89
77
  // Skip if already resolved or standard URL
90
- if (mappedRoute || scheme === 'standard') {
78
+ if (scheme === 'standard') {
91
79
  return;
92
80
  }
93
81
  // Only artifact and image schemes need async resolution
@@ -149,7 +137,7 @@ export function useResolvedUrl({ rawUrl, artifactRunId, disposition = 'inline',
149
137
  console.error('Failed to resolve URL:', path, err);
150
138
  setState({ url: undefined, isLoading: false, error: errorMessage });
151
139
  }
152
- }, [scheme, path, artifactRunId, disposition, mappedRoute]);
140
+ }, [scheme, path, artifactRunId, disposition]);
153
141
  useEffect(() => {
154
142
  // Skip if already resolved
155
143
  if (state.url && !state.error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useResolvedUrl.js","sourceRoot":"","sources":["../../../src/widgets/markdown/useResolvedUrl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useResolvedUrl.js","sourceRoot":"","sources":["../../../src/widgets/markdown/useResolvedUrl.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,12 @@
1
+ export declare function parseXML(xml: string): {
2
+ json: any;
3
+ valid: boolean;
4
+ errorMessage?: undefined;
5
+ } | {
6
+ json: null;
7
+ valid: boolean;
8
+ errorMessage: string;
9
+ };
1
10
  export default function useXMLViewer(xml: string): {
2
11
  json: any;
3
12
  valid: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useXMLViewer.d.ts","sourceRoot":"","sources":["../../../../src/widgets/xml-viewer/hooks/useXMLViewer.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAG,EAAE,MAAM;;;;;;;;EAoB/C"}
1
+ {"version":3,"file":"useXMLViewer.d.ts","sourceRoot":"","sources":["../../../../src/widgets/xml-viewer/hooks/useXMLViewer.ts"],"names":[],"mappings":"AAcA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM;;;;;;;;EAsBnC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAG,EAAE,MAAM;;;;;;;;EAE/C"}
@@ -1,5 +1,4 @@
1
1
  import { XMLParser } from 'fast-xml-parser';
2
- import { SyntaxValidator } from 'fast-xml-validator';
3
2
  import { useMemo } from 'react';
4
3
  import { ATTRIBUTE_CDATA, ATTRIBUTE_COMMENT } from '../constants';
5
4
  const parser = new XMLParser({
@@ -11,23 +10,27 @@ const parser = new XMLParser({
11
10
  cdataPropName: ATTRIBUTE_CDATA,
12
11
  parseTagValue: false,
13
12
  });
14
- export default function useXMLViewer(xml) {
15
- return useMemo(() => {
16
- try {
17
- const validationResult = SyntaxValidator.validate(xml);
18
- if (validationResult !== true) {
19
- throw new Error(validationResult.err.msg || 'Invalid XML!');
20
- }
21
- const json = parser.parse(xml);
22
- if (typeof xml === 'string' && xml.trim().length > 0 && json.length === 0) {
23
- throw new Error('Invalid XML!');
24
- }
25
- return { json, valid: true };
13
+ export function parseXML(xml) {
14
+ try {
15
+ const validationDocument = new DOMParser().parseFromString(xml, 'application/xml');
16
+ const parserError = validationDocument.documentElement.localName === 'parsererror'
17
+ ? validationDocument.documentElement
18
+ : undefined;
19
+ if (parserError) {
20
+ throw new Error(parserError.textContent?.trim() || 'Invalid XML!');
26
21
  }
27
- catch (e) {
28
- const error = e;
29
- return { json: null, valid: false, errorMessage: `Fail to parse: ${error.message}` };
22
+ const json = parser.parse(xml);
23
+ if (xml.trim().length > 0 && json.length === 0) {
24
+ throw new Error('Invalid XML!');
30
25
  }
31
- }, [xml]);
26
+ return { json, valid: true };
27
+ }
28
+ catch (error) {
29
+ const message = error instanceof Error ? error.message : String(error);
30
+ return { json: null, valid: false, errorMessage: `Fail to parse: ${message}` };
31
+ }
32
+ }
33
+ export default function useXMLViewer(xml) {
34
+ return useMemo(() => parseXML(xml), [xml]);
32
35
  }
33
36
  //# sourceMappingURL=useXMLViewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useXMLViewer.js","sourceRoot":"","sources":["../../../../src/widgets/xml-viewer/hooks/useXMLViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IACzB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,EAAE;IACvB,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,KAAK;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAW;IAC5C,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC;YACD,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,CAAU,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACzF,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"useXMLViewer.js","sourceRoot":"","sources":["../../../../src/widgets/xml-viewer/hooks/useXMLViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IACzB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,EAAE;IACvB,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,KAAK;CACvB,CAAC,CAAC;AAEH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAChC,IAAI,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnF,MAAM,WAAW,GACb,kBAAkB,CAAC,eAAe,CAAC,SAAS,KAAK,aAAa;YAC1D,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,SAAS,CAAC;QACpB,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;IACnF,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAW;IAC5C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertesia/ui",
3
- "version": "1.5.0-dev.20260722.120446Z",
3
+ "version": "1.5.0-dev.20260725.083715Z",
4
4
  "description": "Vertesia UI components and and hooks",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -52,7 +52,6 @@
52
52
  "debounce": "^3.0.0",
53
53
  "dompurify": "^3.4.12",
54
54
  "fast-xml-parser": "^5.10.1",
55
- "fast-xml-validator": "^1.2.0",
56
55
  "firebase": "^12.16.0",
57
56
  "framer-motion": "^12.42.2",
58
57
  "i18next": "^26.3.6",
@@ -90,10 +89,11 @@
90
89
  "vega": "^6.2.0",
91
90
  "vega-embed": "^7.1.0",
92
91
  "vega-lite": "^6.4.3",
93
- "@vertesia/client": "1.5.0-dev.20260722.120446Z",
94
- "@vertesia/json": "1.5.0-dev.20260722.120446Z",
95
- "@vertesia/fusion-ux": "1.5.0-dev.20260722.120446Z",
96
- "@vertesia/common": "1.5.0-dev.20260722.120446Z"
92
+ "@vertesia/client": "1.5.0-dev.20260725.083715Z",
93
+ "@vertesia/common": "1.5.0-dev.20260725.083715Z",
94
+ "@vertesia/fusion-ux": "1.5.0-dev.20260725.083715Z",
95
+ "@vertesia/rich-text": "1.5.0-dev.20260725.083715Z",
96
+ "@vertesia/json": "1.5.0-dev.20260725.083715Z"
97
97
  },
98
98
  "devDependencies": {
99
99
  "@testing-library/react": "^16.3.2",
@@ -106,9 +106,9 @@
106
106
  "@types/react-dom": "19.2.3",
107
107
  "axe-core": "^4.12.1",
108
108
  "culori": "^4.0.2",
109
- "i18next-cli": "^1.65.0",
109
+ "i18next-cli": "^1.66.0",
110
110
  "jsdom": "^29.1.1",
111
- "rolldown": "1.1.5",
111
+ "rolldown": "1.2.0",
112
112
  "typescript": "^6.0.3",
113
113
  "vitest": "^4.1.10",
114
114
  "vitest-axe": "^0.1.0",
@@ -150,6 +150,10 @@
150
150
  "types": "./lib/widgets/index.d.ts",
151
151
  "default": "./lib/widgets/index.js"
152
152
  },
153
+ "./rich-text": {
154
+ "types": "./lib/rich-text/index.d.ts",
155
+ "default": "./lib/rich-text/index.js"
156
+ },
153
157
  "./code": {
154
158
  "types": "./lib/code/index.d.ts",
155
159
  "default": "./lib/code/index.js"
@@ -180,7 +184,7 @@
180
184
  "url": "https://github.com/vertesia/composableai.git",
181
185
  "directory": "packages/ui"
182
186
  },
183
- "gitHead": "203c30e5a8ddc583ac9f1acce0f5445eb38a9551",
187
+ "gitHead": "57bcc2f27dd17b3387f27c18e89329c4c37f98ac",
184
188
  "scripts": {
185
189
  "clean:lib": "rimraf ./lib ./tsconfig.tsbuildinfo",
186
190
  "clean": "rimraf ./node_modules ./lib ./tsconfig.tsbuildinfo",
@@ -320,7 +320,10 @@ describe('@vertesia/ui accessibility (axe)', () => {
320
320
  const { baseElement } = renderWithProviders(<Harness />);
321
321
  // Radix portals the dialog into document.body, not the render container.
322
322
  // noCloseButton avoids the Button.alt -> aria-label gap (deferred to Section 3).
323
- expect(await axe(baseElement)).toHaveNoViolations();
323
+ // Radix focus guards are intentionally focusable, visually hidden sentinels. Newer
324
+ // axe-core versions flag their tabindex + aria-hidden combination even though they
325
+ // are infrastructure outside the dialog's accessible content.
326
+ expect(await axe(baseElement, { exclude: ['[data-radix-focus-guard]'] })).toHaveNoViolations();
324
327
  });
325
328
 
326
329
  it('Table with column headers and sortable button has no violations', async () => {
@@ -1,6 +1,17 @@
1
- import type { AxeResults } from 'axe-core';
1
+ import axeCore, { type AxeResults, type RunOptions } from 'axe-core';
2
2
  import { axe as baseAxe } from 'vitest-axe';
3
3
 
4
+ const RUN_OPTIONS: RunOptions = {
5
+ rules: {
6
+ 'color-contrast': { enabled: false },
7
+ },
8
+ };
9
+
10
+ export interface AxeTestOptions {
11
+ /** Selectors to omit from this specific axe run while testing the rest of the container. */
12
+ exclude?: string[];
13
+ }
14
+
4
15
  /**
5
16
  * Project-wide axe runner.
6
17
  *
@@ -14,10 +25,9 @@ import { axe as baseAxe } from 'vitest-axe';
14
25
  * Lives in a `.ts` file (not `.tsx`) to keep its module init free of React/JSX
15
26
  * resolution concerns.
16
27
  */
17
- export function axe(container: Element | string): Promise<AxeResults> {
18
- return baseAxe(container, {
19
- rules: {
20
- 'color-contrast': { enabled: false },
21
- },
22
- });
28
+ export function axe(container: Element | string, options: AxeTestOptions = {}): Promise<AxeResults> {
29
+ if (options.exclude?.length && typeof container !== 'string') {
30
+ return axeCore.run({ include: [container], exclude: options.exclude }, RUN_OPTIONS);
31
+ }
32
+ return baseAxe(container, RUN_OPTIONS);
23
33
  }
@@ -72,3 +72,28 @@ if (typeof globalThis.ResizeObserver === 'undefined') {
72
72
  (globalThis as unknown as { ResizeObserver: typeof ResizeObserverPolyfill }).ResizeObserver =
73
73
  ResizeObserverPolyfill;
74
74
  }
75
+
76
+ // Chart and Mermaid modules probe canvas support during import. jsdom's default
77
+ // implementation only logs a noisy "not implemented" error, so return the same
78
+ // unsupported value without polluting otherwise successful UI test output.
79
+ if (typeof HTMLCanvasElement !== 'undefined') {
80
+ Object.defineProperty(HTMLCanvasElement.prototype, 'getContext', {
81
+ configurable: true,
82
+ value: () => null,
83
+ });
84
+ }
85
+
86
+ // ProseMirror asks the browser for caret geometry during pointer/keyboard input.
87
+ // jsdom has no layout engine, so provide stable empty geometry for interaction tests.
88
+ if (typeof document !== 'undefined' && typeof document.elementFromPoint !== 'function') {
89
+ document.elementFromPoint = () => document.querySelector('.ProseMirror') ?? document.body;
90
+ }
91
+ if (typeof Range !== 'undefined') {
92
+ const emptyRect = () => new DOMRect(0, 0, 0, 0);
93
+ if (typeof Range.prototype.getBoundingClientRect !== 'function') {
94
+ Range.prototype.getBoundingClientRect = emptyRect;
95
+ }
96
+ if (typeof Range.prototype.getClientRects !== 'function') {
97
+ Range.prototype.getClientRects = () => [] as unknown as DOMRectList;
98
+ }
99
+ }
@@ -318,6 +318,7 @@ const FilterBtn = ({ className }: { className?: string }) => {
318
318
  variant="outline"
319
319
  role="combobox"
320
320
  aria-expanded={open}
321
+ aria-label={t('filter.filter')}
321
322
  size="md"
322
323
  className={cn('transition group flex gap-1.5', className)}
323
324
  >
@@ -16,7 +16,7 @@ interface ModalProps {
16
16
  className?: string;
17
17
  allowOverflow?: boolean;
18
18
  disableCloseOnClickOutside?: boolean;
19
- size?: 'sm' | 'md' | 'lg' | 'xl';
19
+ size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
20
20
  action?: React.ReactNode;
21
21
  }
22
22
  const ModalContext = createContext<boolean>(false);
@@ -54,6 +54,8 @@ export function Modal({
54
54
  return 'max-w-[80vw] md:max-w-[60vw]';
55
55
  case 'xl':
56
56
  return 'max-w-[95vw] lg:max-w-[80vw]';
57
+ case 'full':
58
+ return 'h-[calc(100vh-2rem)] max-w-[calc(100vw-2rem)]';
57
59
  default:
58
60
  return 'max-w-[60vw] lg:max-w-[40vw]';
59
61
  }
@@ -0,0 +1,65 @@
1
+ import { fireEvent, render, screen } from '@testing-library/react';
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
3
+ import { Tabs, TabsBar, TabsPanel } from './tabs';
4
+
5
+ const TABS = [
6
+ { name: 'first', label: 'First', href: '#first', content: <div>First panel</div> },
7
+ { name: 'second', label: 'Second', href: '#second', content: <div>Second panel</div> },
8
+ ];
9
+
10
+ function renderTabs(canChangeTab?: (nextTab: string, currentTab?: string) => boolean) {
11
+ return render(
12
+ <Tabs tabs={TABS} defaultValue="first" canChangeTab={canChangeTab}>
13
+ <TabsBar />
14
+ <TabsPanel />
15
+ </Tabs>,
16
+ );
17
+ }
18
+
19
+ describe('Tabs canChangeTab', () => {
20
+ beforeEach(() => {
21
+ window.history.replaceState(null, '', '/');
22
+ });
23
+
24
+ it('cancels the switch and leaves the hash alone when the guard returns false', () => {
25
+ const canChangeTab = vi.fn().mockReturnValue(false);
26
+ renderTabs(canChangeTab);
27
+
28
+ fireEvent.click(screen.getByRole('tab', { name: 'Second' }));
29
+
30
+ expect(canChangeTab).toHaveBeenCalledWith('second', 'first');
31
+ expect(screen.getByText('First panel')).toBeDefined();
32
+ expect(screen.queryByText('Second panel')).toBeNull();
33
+ expect(window.location.hash).toBe('');
34
+ });
35
+
36
+ it('allows the switch when the guard returns true', () => {
37
+ const canChangeTab = vi.fn().mockReturnValue(true);
38
+ renderTabs(canChangeTab);
39
+
40
+ fireEvent.click(screen.getByRole('tab', { name: 'Second' }));
41
+
42
+ expect(screen.getByText('Second panel')).toBeDefined();
43
+ expect(window.location.hash).toBe('#second');
44
+ });
45
+
46
+ it('does not consult the guard when the active tab is clicked again', () => {
47
+ const canChangeTab = vi.fn().mockReturnValue(false);
48
+ renderTabs(canChangeTab);
49
+
50
+ fireEvent.click(screen.getByRole('tab', { name: 'First' }));
51
+
52
+ expect(canChangeTab).not.toHaveBeenCalled();
53
+ expect(screen.getByText('First panel')).toBeDefined();
54
+ });
55
+
56
+ it('still switches from a hash change so a cancelled switch can be resumed', () => {
57
+ const canChangeTab = vi.fn().mockReturnValue(false);
58
+ renderTabs(canChangeTab);
59
+
60
+ window.location.hash = 'second';
61
+ fireEvent(window, new HashChangeEvent('hashchange'));
62
+
63
+ expect(screen.getByText('Second panel')).toBeDefined();
64
+ });
65
+ });