@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.
- package/lib/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/filterBar.js +1 -1
- package/lib/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/core/components/shadcn/modal/dialog.d.ts +1 -1
- package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
- package/lib/core/components/shadcn/modal/dialog.js +2 -0
- package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
- package/lib/core/components/shadcn/tabs.d.ts +12 -1
- package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/core/components/shadcn/tabs.js +12 -4
- package/lib/core/components/shadcn/tabs.js.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.d.ts +5 -1
- package/lib/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.js +2 -2
- package/lib/features/agent/chat/AgentRightPanel.js.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.d.ts +5 -1
- package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.js +48 -11
- package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
- package/lib/features/agent/chat/DocumentEditingActionCard.d.ts +6 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.d.ts.map +1 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.js +129 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentConversation.d.ts +19 -1
- package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.js +125 -27
- package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts +45 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js +40 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +94 -49
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts +2 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js +9 -5
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts +25 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js +33 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +3 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +22 -24
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts +14 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js +21 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts +30 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js +53 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +21 -2
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts +6 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js +29 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts +33 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js +129 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts +7 -0
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.js +11 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.js +24 -9
- package/lib/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/features/agent/chat/index.d.ts +2 -1
- package/lib/features/agent/chat/index.d.ts.map +1 -1
- package/lib/features/agent/chat/index.js +3 -0
- package/lib/features/agent/chat/index.js.map +1 -1
- package/lib/features/store/objects/DocumentSearchResults.js +2 -2
- package/lib/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.d.ts +2 -1
- package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.js +86 -15
- package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts +16 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js +116 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts +7 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.js +13 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.js.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.d.ts +48 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.js +720 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.js.map +1 -0
- package/lib/features/store/objects/components/TextEditorPanel.d.ts.map +1 -1
- package/lib/features/store/objects/components/TextEditorPanel.js +22 -9
- package/lib/features/store/objects/components/TextEditorPanel.js.map +1 -1
- package/lib/features/store/objects/components/documentArtifactRefs.d.ts +26 -0
- package/lib/features/store/objects/components/documentArtifactRefs.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentArtifactRefs.js +52 -0
- package/lib/features/store/objects/components/documentArtifactRefs.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts +4 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.js +40 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingPrompts.d.ts +3 -0
- package/lib/features/store/objects/components/documentEditingPrompts.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingPrompts.js +13 -0
- package/lib/features/store/objects/components/documentEditingPrompts.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingRun.d.ts +27 -0
- package/lib/features/store/objects/components/documentEditingRun.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingRun.js +126 -0
- package/lib/features/store/objects/components/documentEditingRun.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingTarget.d.ts +20 -0
- package/lib/features/store/objects/components/documentEditingTarget.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingTarget.js +40 -0
- package/lib/features/store/objects/components/documentEditingTarget.js.map +1 -0
- package/lib/features/store/objects/components/index.d.ts +1 -0
- package/lib/features/store/objects/components/index.d.ts.map +1 -1
- package/lib/features/store/objects/components/index.js +1 -0
- package/lib/features/store/objects/components/index.js.map +1 -1
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts +5 -1
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
- package/lib/features/store/objects/components/useContentPanelHooks.js +53 -29
- package/lib/features/store/objects/components/useContentPanelHooks.js.map +1 -1
- package/lib/features/store/objects/components/useDownloadFile.d.ts +2 -1
- package/lib/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
- package/lib/features/store/objects/components/useDownloadFile.js +3 -0
- package/lib/features/store/objects/components/useDownloadFile.js.map +1 -1
- package/lib/features/store/objects/selection/actions/StartWorkflowButton.js +1 -1
- package/lib/features/store/objects/selection/actions/StartWorkflowButton.js.map +1 -1
- package/lib/i18n/locales/ar.json +118 -1
- package/lib/i18n/locales/de.json +118 -1
- package/lib/i18n/locales/en.json +118 -0
- package/lib/i18n/locales/es.json +118 -1
- package/lib/i18n/locales/fr.json +118 -1
- package/lib/i18n/locales/it.json +118 -1
- package/lib/i18n/locales/ja.json +118 -1
- package/lib/i18n/locales/ko.json +118 -1
- package/lib/i18n/locales/pt.json +118 -1
- package/lib/i18n/locales/ru.json +118 -1
- package/lib/i18n/locales/tr.json +118 -1
- package/lib/i18n/locales/zh-TW.json +118 -1
- package/lib/i18n/locales/zh.json +118 -1
- package/lib/rich-text/EditorToolbar.d.ts +37 -0
- package/lib/rich-text/EditorToolbar.d.ts.map +1 -0
- package/lib/rich-text/EditorToolbar.js +215 -0
- package/lib/rich-text/EditorToolbar.js.map +1 -0
- package/lib/rich-text/VertesiaRichTextEditor.d.ts +26 -0
- package/lib/rich-text/VertesiaRichTextEditor.d.ts.map +1 -0
- package/lib/rich-text/VertesiaRichTextEditor.js +67 -0
- package/lib/rich-text/VertesiaRichTextEditor.js.map +1 -0
- package/lib/rich-text/index.d.ts +2 -0
- package/lib/rich-text/index.d.ts.map +1 -0
- package/lib/rich-text/index.js +2 -0
- package/lib/rich-text/index.js.map +1 -0
- package/lib/vertesia-ui-core.js +2 -2
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-features.js +35 -30
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-i18n.js +14 -14
- package/lib/vertesia-ui-i18n.js.map +1 -1
- package/lib/vertesia-ui-rich-text.js +5 -0
- package/lib/vertesia-ui-rich-text.js.map +1 -0
- package/lib/vertesia-ui-widgets.js +25 -7
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/lib/widgets/markdown/AgentResourceResolver.d.ts +31 -0
- package/lib/widgets/markdown/AgentResourceResolver.d.ts.map +1 -0
- package/lib/widgets/markdown/AgentResourceResolver.js +39 -0
- package/lib/widgets/markdown/AgentResourceResolver.js.map +1 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.d.ts +63 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.d.ts.map +1 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.js +582 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.js.map +1 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts +69 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts.map +1 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js +374 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js.map +1 -0
- package/lib/widgets/markdown/MarkdownLink.d.ts +3 -1
- package/lib/widgets/markdown/MarkdownLink.d.ts.map +1 -1
- package/lib/widgets/markdown/MarkdownLink.js +41 -14
- package/lib/widgets/markdown/MarkdownLink.js.map +1 -1
- package/lib/widgets/markdown/MarkdownRenderer.d.ts +8 -1
- package/lib/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/widgets/markdown/MarkdownRenderer.js +20 -4
- package/lib/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/widgets/markdown/index.d.ts +5 -1
- package/lib/widgets/markdown/index.d.ts.map +1 -1
- package/lib/widgets/markdown/index.js +5 -1
- package/lib/widgets/markdown/index.js.map +1 -1
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -1
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.js +14 -2
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -1
- package/lib/widgets/markdown/textDiff.d.ts +52 -0
- package/lib/widgets/markdown/textDiff.d.ts.map +1 -0
- package/lib/widgets/markdown/textDiff.js +362 -0
- package/lib/widgets/markdown/textDiff.js.map +1 -0
- package/lib/widgets/markdown/useArtifactContent.d.ts +5 -3
- package/lib/widgets/markdown/useArtifactContent.d.ts.map +1 -1
- package/lib/widgets/markdown/useArtifactContent.js +6 -3
- package/lib/widgets/markdown/useArtifactContent.js.map +1 -1
- package/lib/widgets/markdown/useResolvedUrl.d.ts +1 -5
- package/lib/widgets/markdown/useResolvedUrl.d.ts.map +1 -1
- package/lib/widgets/markdown/useResolvedUrl.js +19 -31
- package/lib/widgets/markdown/useResolvedUrl.js.map +1 -1
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +9 -0
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +20 -17
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
- package/package.json +13 -9
- package/src/__tests__/a11y.test.tsx +4 -1
- package/src/__tests__/axe-helper.ts +17 -7
- package/src/__tests__/setup.ts +25 -0
- package/src/core/components/shadcn/filters/filterBar.tsx +1 -0
- package/src/core/components/shadcn/modal/dialog.tsx +3 -1
- package/src/core/components/shadcn/tabs.test.tsx +65 -0
- package/src/core/components/shadcn/tabs.tsx +25 -3
- package/src/features/agent/chat/AgentRightPanel.tsx +16 -1
- package/src/features/agent/chat/ArtifactsTab.test.tsx +55 -0
- package/src/features/agent/chat/ArtifactsTab.tsx +203 -52
- package/src/features/agent/chat/DocumentEditingActionCard.test.tsx +105 -0
- package/src/features/agent/chat/DocumentEditingActionCard.tsx +210 -0
- package/src/features/agent/chat/ModernAgentConversation.test.tsx +237 -40
- package/src/features/agent/chat/ModernAgentConversation.tsx +247 -75
- package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.test.tsx +79 -0
- package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.tsx +94 -0
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +257 -34
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +217 -105
- package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.tsx +17 -0
- package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.test.tsx +44 -0
- package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.tsx +88 -0
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +30 -46
- package/src/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.tsx +40 -0
- package/src/features/agent/chat/ModernAgentOutput/ResourceChip.test.tsx +148 -0
- package/src/features/agent/chat/ModernAgentOutput/ResourceChip.tsx +141 -0
- package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +33 -1
- package/src/features/agent/chat/ModernAgentOutput/resourceLinks.tsx +43 -0
- package/src/features/agent/chat/ModernAgentOutput/resourceSummary.test.ts +229 -0
- package/src/features/agent/chat/ModernAgentOutput/resourceSummary.ts +152 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +17 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +14 -1
- package/src/features/agent/chat/hooks/useAgentStream.test.tsx +188 -0
- package/src/features/agent/chat/hooks/useAgentStream.ts +28 -8
- package/src/features/agent/chat/index.ts +11 -0
- package/src/features/store/objects/DocumentSearchResults.tsx +2 -2
- package/src/features/store/objects/components/ContentOverview.tsx +216 -65
- package/src/features/store/objects/components/DocumentEditingConfigurationSelector.test.ts +34 -0
- package/src/features/store/objects/components/DocumentEditingConfigurationSelector.tsx +211 -0
- package/src/features/store/objects/components/DocumentEditingLockStatus.test.tsx +32 -0
- package/src/features/store/objects/components/DocumentEditingLockStatus.tsx +45 -0
- package/src/features/store/objects/components/DocumentEditingPanel.test.tsx +336 -0
- package/src/features/store/objects/components/DocumentEditingPanel.tsx +1236 -0
- package/src/features/store/objects/components/TextEditorPanel.test.tsx +48 -0
- package/src/features/store/objects/components/TextEditorPanel.tsx +41 -20
- package/src/features/store/objects/components/documentArtifactRefs.test.ts +65 -0
- package/src/features/store/objects/components/documentArtifactRefs.ts +72 -0
- package/src/features/store/objects/components/documentEditingAgentConfig.test.ts +28 -0
- package/src/features/store/objects/components/documentEditingAgentConfig.ts +41 -0
- package/src/features/store/objects/components/documentEditingPrompts.test.ts +26 -0
- package/src/features/store/objects/components/documentEditingPrompts.ts +12 -0
- package/src/features/store/objects/components/documentEditingRun.test.ts +176 -0
- package/src/features/store/objects/components/documentEditingRun.ts +184 -0
- package/src/features/store/objects/components/documentEditingTarget.test.ts +96 -0
- package/src/features/store/objects/components/documentEditingTarget.ts +63 -0
- package/src/features/store/objects/components/index.ts +1 -0
- package/src/features/store/objects/components/useContentPanelHooks.ts +52 -27
- package/src/features/store/objects/components/useDownloadFile.test.ts +20 -0
- package/src/features/store/objects/components/useDownloadFile.ts +5 -1
- package/src/features/store/objects/selection/actions/StartWorkflowButton.tsx +2 -2
- package/src/i18n/locales/ar.json +118 -1
- package/src/i18n/locales/de.json +118 -1
- package/src/i18n/locales/en.json +118 -0
- package/src/i18n/locales/es.json +118 -1
- package/src/i18n/locales/fr.json +118 -1
- package/src/i18n/locales/it.json +118 -1
- package/src/i18n/locales/ja.json +118 -1
- package/src/i18n/locales/ko.json +118 -1
- package/src/i18n/locales/pt.json +118 -1
- package/src/i18n/locales/ru.json +118 -1
- package/src/i18n/locales/tr.json +118 -1
- package/src/i18n/locales/zh-TW.json +118 -1
- package/src/i18n/locales/zh.json +118 -1
- package/src/rich-text/EditorToolbar.tsx +708 -0
- package/src/rich-text/VertesiaRichTextEditor.test.tsx +211 -0
- package/src/rich-text/VertesiaRichTextEditor.tsx +241 -0
- package/src/rich-text/index.ts +9 -0
- package/src/session/UserSession.test.ts +11 -11
- package/src/widgets/markdown/AgentResourceResolver.test.ts +24 -0
- package/src/widgets/markdown/AgentResourceResolver.tsx +70 -0
- package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +537 -0
- package/src/widgets/markdown/ArtifactEditingSurface.tsx +878 -0
- package/src/widgets/markdown/CollaborativeMarkdownRenderer.test.tsx +484 -0
- package/src/widgets/markdown/CollaborativeMarkdownRenderer.tsx +825 -0
- package/src/widgets/markdown/MarkdownLink.test.tsx +122 -0
- package/src/widgets/markdown/MarkdownLink.tsx +102 -17
- package/src/widgets/markdown/MarkdownRenderer.tsx +30 -3
- package/src/widgets/markdown/index.ts +39 -1
- package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +15 -2
- package/src/widgets/markdown/textDiff.test.ts +156 -0
- package/src/widgets/markdown/textDiff.ts +399 -0
- package/src/widgets/markdown/useArtifactContent.ts +9 -3
- package/src/widgets/markdown/useResolvedUrl.test.ts +29 -40
- package/src/widgets/markdown/useResolvedUrl.ts +33 -35
- package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +26 -0
- 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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;
|
|
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,
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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 (
|
|
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
|
|
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":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACtB,MAAM,+CAA+C,CAAC;
|
|
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":"
|
|
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
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
const json = parser.parse(xml);
|
|
23
|
+
if (xml.trim().length > 0 && json.length === 0) {
|
|
24
|
+
throw new Error('Invalid XML!');
|
|
30
25
|
}
|
|
31
|
-
|
|
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,
|
|
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.
|
|
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.
|
|
94
|
-
"@vertesia/
|
|
95
|
-
"@vertesia/fusion-ux": "1.5.0-dev.
|
|
96
|
-
"@vertesia/
|
|
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.
|
|
109
|
+
"i18next-cli": "^1.66.0",
|
|
110
110
|
"jsdom": "^29.1.1",
|
|
111
|
-
"rolldown": "1.
|
|
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": "
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
}
|
package/src/__tests__/setup.ts
CHANGED
|
@@ -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
|
+
}
|
|
@@ -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
|
+
});
|