@vertesia/ui 1.4.0-dev.20260615.051508Z → 1.4.0-dev.20260629.130134Z
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/dropdown.d.ts.map +1 -1
- package/lib/core/components/shadcn/dropdown.js +6 -2
- package/lib/core/components/shadcn/dropdown.js.map +1 -1
- package/lib/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/filterBar.js +9 -2
- package/lib/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/core/components/shadcn/modal/ConfirmModal.d.ts +16 -1
- package/lib/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
- package/lib/core/components/shadcn/modal/ConfirmModal.js +25 -3
- package/lib/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
- package/lib/core/components/shadcn/modal/dialog.js +1 -1
- package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
- package/lib/core/components/shadcn/popover.d.ts.map +1 -1
- package/lib/core/components/shadcn/popover.js +3 -1
- package/lib/core/components/shadcn/popover.js.map +1 -1
- package/lib/core/components/shadcn/switch.js +3 -3
- package/lib/core/components/shadcn/switch.js.map +1 -1
- package/lib/core/components/shadcn/tabs.js +1 -1
- package/lib/core/components/shadcn/tabs.js.map +1 -1
- package/lib/core/components/shadcn/tooltip.d.ts.map +1 -1
- package/lib/core/components/shadcn/tooltip.js +3 -1
- package/lib/core/components/shadcn/tooltip.js.map +1 -1
- package/lib/env/index.d.ts +0 -19
- package/lib/env/index.d.ts.map +1 -1
- package/lib/env/index.js +0 -6
- package/lib/env/index.js.map +1 -1
- package/lib/features/agent/PayloadBuilder.d.ts +4 -0
- package/lib/features/agent/PayloadBuilder.d.ts.map +1 -1
- package/lib/features/agent/PayloadBuilder.js +16 -0
- package/lib/features/agent/PayloadBuilder.js.map +1 -1
- package/lib/features/agent/chat/AgentApprovalModeSelector.d.ts +10 -0
- package/lib/features/agent/chat/AgentApprovalModeSelector.d.ts.map +1 -0
- package/lib/features/agent/chat/AgentApprovalModeSelector.js +50 -0
- package/lib/features/agent/chat/AgentApprovalModeSelector.js.map +1 -0
- package/lib/features/agent/chat/AgentChatFixtureReplay.d.ts +2 -1
- package/lib/features/agent/chat/AgentChatFixtureReplay.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentChatFixtureReplay.js +3 -3
- package/lib/features/agent/chat/AgentChatFixtureReplay.js.map +1 -1
- package/lib/features/agent/chat/AgentRequestInputOverlay.d.ts +5 -2
- package/lib/features/agent/chat/AgentRequestInputOverlay.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentRequestInputOverlay.js +41 -7
- package/lib/features/agent/chat/AgentRequestInputOverlay.js.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.js +133 -12
- package/lib/features/agent/chat/AgentRightPanel.js.map +1 -1
- package/lib/features/agent/chat/AnimatedThinkingDots.js +1 -1
- package/lib/features/agent/chat/AnimatedThinkingDots.js.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.js +11 -65
- package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
- package/lib/features/agent/chat/AskUserWidget.d.ts +3 -1
- package/lib/features/agent/chat/AskUserWidget.d.ts.map +1 -1
- package/lib/features/agent/chat/AskUserWidget.js +4 -3
- package/lib/features/agent/chat/AskUserWidget.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.d.ts +10 -2
- package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.js +526 -117
- package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ActiveWorkstreamsSummary.d.ts +8 -0
- package/lib/features/agent/chat/ModernAgentOutput/ActiveWorkstreamsSummary.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ActiveWorkstreamsSummary.js +19 -0
- package/lib/features/agent/chat/ModernAgentOutput/ActiveWorkstreamsSummary.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +8 -2
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +551 -92
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js +7 -6
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/Header.js +2 -2
- package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageDeliveryStatus.d.ts +8 -0
- package/lib/features/agent/chat/ModernAgentOutput/MessageDeliveryStatus.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/MessageDeliveryStatus.js +61 -0
- package/lib/features/agent/chat/ModernAgentOutput/MessageDeliveryStatus.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +15 -2
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +28 -38
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +3 -2
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js +2 -1
- package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts +5 -0
- package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js +59 -4
- package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +2 -2
- package/lib/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts +9 -0
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +180 -0
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts +6 -0
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.js +92 -2
- package/lib/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
- package/lib/features/agent/chat/clipboardFiles.d.ts +15 -0
- package/lib/features/agent/chat/clipboardFiles.d.ts.map +1 -0
- package/lib/features/agent/chat/clipboardFiles.js +35 -0
- package/lib/features/agent/chat/clipboardFiles.js.map +1 -0
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts +6 -0
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.js +218 -37
- package/lib/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/features/agent/chat/hooks/useArtifacts.d.ts +1 -8
- package/lib/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -1
- package/lib/features/agent/chat/hooks/useArtifacts.js +10 -28
- package/lib/features/agent/chat/hooks/useArtifacts.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 +2 -1
- package/lib/features/agent/chat/index.js.map +1 -1
- package/lib/features/agent/chat/workstreams.d.ts +1 -0
- package/lib/features/agent/chat/workstreams.d.ts.map +1 -1
- package/lib/features/agent/chat/workstreams.js +28 -0
- package/lib/features/agent/chat/workstreams.js.map +1 -1
- package/lib/features/facets/AgentRunnerFacetsNav.d.ts +10 -1
- package/lib/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/AgentRunnerFacetsNav.js +6 -3
- package/lib/features/facets/AgentRunnerFacetsNav.js.map +1 -1
- package/lib/features/facets/CollectionsFacetsNav.d.ts +10 -1
- package/lib/features/facets/CollectionsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/CollectionsFacetsNav.js +14 -5
- package/lib/features/facets/CollectionsFacetsNav.js.map +1 -1
- package/lib/features/facets/PromptsFacetsNav.d.ts +10 -1
- package/lib/features/facets/PromptsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/PromptsFacetsNav.js +14 -5
- package/lib/features/facets/PromptsFacetsNav.js.map +1 -1
- package/lib/features/facets/RunsFacetsNav.d.ts +10 -1
- package/lib/features/facets/RunsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/RunsFacetsNav.js +14 -5
- package/lib/features/facets/RunsFacetsNav.js.map +1 -1
- package/lib/features/index.d.ts +0 -1
- package/lib/features/index.d.ts.map +1 -1
- package/lib/features/index.js +0 -1
- package/lib/features/index.js.map +1 -1
- package/lib/features/oauth/McpConnectionsButton.d.ts +30 -0
- package/lib/features/oauth/McpConnectionsButton.d.ts.map +1 -0
- package/lib/features/oauth/McpConnectionsButton.js +70 -0
- package/lib/features/oauth/McpConnectionsButton.js.map +1 -0
- package/lib/features/oauth/McpConnectionsDialog.d.ts +25 -0
- package/lib/features/oauth/McpConnectionsDialog.d.ts.map +1 -0
- package/lib/features/oauth/McpConnectionsDialog.js +26 -0
- package/lib/features/oauth/McpConnectionsDialog.js.map +1 -0
- package/lib/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.js +14 -6
- package/lib/features/oauth/RemoteMcpConnectionButton.js.map +1 -1
- package/lib/features/oauth/index.d.ts +3 -0
- package/lib/features/oauth/index.d.ts.map +1 -1
- package/lib/features/oauth/index.js +3 -0
- package/lib/features/oauth/index.js.map +1 -1
- package/lib/features/oauth/useMcpConnections.d.ts +44 -0
- package/lib/features/oauth/useMcpConnections.d.ts.map +1 -0
- package/lib/features/oauth/useMcpConnections.js +168 -0
- package/lib/features/oauth/useMcpConnections.js.map +1 -0
- package/lib/features/permissions/UserPermissionsProvider.d.ts +4 -6
- package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
- package/lib/features/permissions/UserPermissionsProvider.js +40 -42
- package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
- package/lib/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
- package/lib/features/store/objects/DocumentPreviewPanel.js +2 -1
- package/lib/features/store/objects/DocumentPreviewPanel.js.map +1 -1
- package/lib/features/store/objects/DocumentQuickFilter.d.ts +23 -0
- package/lib/features/store/objects/DocumentQuickFilter.d.ts.map +1 -0
- package/lib/features/store/objects/DocumentQuickFilter.js +30 -0
- package/lib/features/store/objects/DocumentQuickFilter.js.map +1 -0
- package/lib/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
- package/lib/features/store/objects/DocumentSearchResults.js +17 -1
- package/lib/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.js +17 -74
- package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/features/store/objects/layout/DocumentTableColumn.d.ts +7 -1
- package/lib/features/store/objects/layout/DocumentTableColumn.d.ts.map +1 -1
- package/lib/features/store/objects/layout/DocumentTableColumn.js +27 -3
- package/lib/features/store/objects/layout/DocumentTableColumn.js.map +1 -1
- package/lib/features/store/objects/layout/documentLayout.js +1 -1
- package/lib/features/store/objects/layout/renderers.d.ts +2 -1
- package/lib/features/store/objects/layout/renderers.d.ts.map +1 -1
- package/lib/features/store/objects/layout/renderers.js +27 -20
- package/lib/features/store/objects/layout/renderers.js.map +1 -1
- package/lib/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
- package/lib/features/store/types/ContentObjectTypesSearch.js +4 -1
- package/lib/features/store/types/ContentObjectTypesSearch.js.map +1 -1
- package/lib/features/store/types/ContentObjectTypesTable.d.ts +2 -1
- package/lib/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
- package/lib/features/store/types/ContentObjectTypesTable.js +8 -3
- package/lib/features/store/types/ContentObjectTypesTable.js.map +1 -1
- package/lib/i18n/instance.d.ts.map +1 -1
- package/lib/i18n/instance.js +1 -0
- package/lib/i18n/instance.js.map +1 -1
- package/lib/i18n/locales/ar.json +72 -45
- package/lib/i18n/locales/de.json +65 -34
- package/lib/i18n/locales/en.json +63 -47
- package/lib/i18n/locales/es.json +65 -35
- package/lib/i18n/locales/fr.json +65 -35
- package/lib/i18n/locales/it.json +72 -42
- package/lib/i18n/locales/ja.json +72 -41
- package/lib/i18n/locales/ko.json +72 -41
- package/lib/i18n/locales/pt.json +72 -42
- package/lib/i18n/locales/ru.json +72 -43
- package/lib/i18n/locales/tr.json +72 -41
- package/lib/i18n/locales/zh-TW.json +72 -41
- package/lib/i18n/locales/zh.json +72 -41
- package/lib/session/UserSession.d.ts +0 -6
- package/lib/session/UserSession.d.ts.map +1 -1
- package/lib/session/UserSession.js +0 -15
- package/lib/session/UserSession.js.map +1 -1
- package/lib/session/UserSessionProvider.d.ts.map +1 -1
- package/lib/session/UserSessionProvider.js +39 -98
- package/lib/session/UserSessionProvider.js.map +1 -1
- package/lib/session/auth/composable.d.ts.map +1 -1
- package/lib/session/auth/composable.js +3 -33
- package/lib/session/auth/composable.js.map +1 -1
- package/lib/shell/login/SignInPrimitives.d.ts.map +1 -1
- package/lib/shell/login/SignInPrimitives.js +3 -2
- package/lib/shell/login/SignInPrimitives.js.map +1 -1
- package/lib/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-env.js +1 -1
- package/lib/vertesia-ui-env.js.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-i18n.js +1 -1
- package/lib/vertesia-ui-i18n.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-shell.js +1 -1
- package/lib/vertesia-ui-shell.js.map +1 -1
- package/lib/vertesia-ui-widgets.js +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/lib/widgets/schema-editor/editor/Editable.js +1 -1
- package/lib/widgets/schema-editor/editor/Editable.js.map +1 -1
- package/llms.txt +70 -70
- package/package.json +35 -32
- package/src/core/components/shadcn/dropdown.tsx +2 -0
- package/src/core/components/shadcn/filters/filterBar.tsx +9 -2
- package/src/core/components/shadcn/modal/ConfirmModal.tsx +65 -3
- package/src/core/components/shadcn/modal/dialog.tsx +1 -1
- package/src/core/components/shadcn/popover.tsx +1 -0
- package/src/core/components/shadcn/switch.tsx +4 -4
- package/src/core/components/shadcn/tabs.tsx +1 -1
- package/src/core/components/shadcn/tooltip.tsx +1 -0
- package/src/env/index.ts +0 -24
- package/src/features/agent/PayloadBuilder.tsx +18 -0
- package/src/features/agent/chat/AgentApprovalModeSelector.tsx +130 -0
- package/src/features/agent/chat/AgentChatFixtureReplay.test.tsx +22 -2
- package/src/features/agent/chat/AgentChatFixtureReplay.tsx +33 -27
- package/src/features/agent/chat/AgentRequestInputOverlay.test.tsx +122 -0
- package/src/features/agent/chat/AgentRequestInputOverlay.tsx +91 -17
- package/src/features/agent/chat/AgentRightPanel.tsx +238 -50
- package/src/features/agent/chat/AnimatedThinkingDots.tsx +1 -1
- package/src/features/agent/chat/ArtifactsTab.tsx +21 -155
- package/src/features/agent/chat/AskUserWidget.tsx +6 -2
- package/src/features/agent/chat/ModernAgentConversation.test.tsx +1157 -47
- package/src/features/agent/chat/ModernAgentConversation.tsx +703 -136
- package/src/features/agent/chat/ModernAgentOutput/ActiveWorkstreamsSummary.tsx +74 -0
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +1420 -126
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +934 -111
- package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.tsx +31 -40
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +28 -28
- package/src/features/agent/chat/ModernAgentOutput/MessageDeliveryStatus.tsx +83 -0
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.test.tsx +38 -2
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +121 -98
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +7 -1
- package/src/features/agent/chat/ModernAgentOutput/SlideInPanel.tsx +3 -3
- package/src/features/agent/chat/ModernAgentOutput/SlidingMessages.tsx +1 -1
- package/src/features/agent/chat/ModernAgentOutput/SummaryConversation.ts +82 -2
- package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +2 -2
- package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +216 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +149 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +103 -2
- package/src/features/agent/chat/clipboardFiles.ts +33 -0
- package/src/features/agent/chat/hooks/useAgentStream.test.tsx +355 -4
- package/src/features/agent/chat/hooks/useAgentStream.ts +270 -43
- package/src/features/agent/chat/hooks/useArtifacts.ts +11 -44
- package/src/features/agent/chat/index.ts +10 -1
- package/src/features/agent/chat/workstreams.ts +42 -0
- package/src/features/facets/AgentRunnerFacetsNav.tsx +23 -3
- package/src/features/facets/CollectionsFacetsNav.tsx +30 -5
- package/src/features/facets/PromptsFacetsNav.tsx +30 -5
- package/src/features/facets/RunsFacetsNav.tsx +32 -5
- package/src/features/index.ts +0 -1
- package/src/features/oauth/McpConnectionsButton.test.tsx +248 -0
- package/src/features/oauth/McpConnectionsButton.tsx +269 -0
- package/src/features/oauth/McpConnectionsDialog.tsx +142 -0
- package/src/features/oauth/RemoteMcpConnectionButton.tsx +37 -14
- package/src/features/oauth/index.ts +3 -0
- package/src/features/oauth/useMcpConnections.test.ts +94 -0
- package/src/features/oauth/useMcpConnections.ts +210 -0
- package/src/features/permissions/UserPermissionsProvider.tsx +41 -59
- package/src/features/store/objects/DocumentPreviewPanel.tsx +4 -2
- package/src/features/store/objects/DocumentQuickFilter.tsx +72 -0
- package/src/features/store/objects/DocumentSearchResults.tsx +30 -11
- package/src/features/store/objects/components/ContentOverview.tsx +30 -99
- package/src/features/store/objects/layout/DocumentTableColumn.tsx +29 -4
- package/src/features/store/objects/layout/documentLayout.tsx +1 -1
- package/src/features/store/objects/layout/renderers.tsx +80 -20
- package/src/features/store/types/ContentObjectTypesSearch.tsx +7 -1
- package/src/features/store/types/ContentObjectTypesTable.tsx +34 -4
- package/src/i18n/instance.ts +1 -0
- package/src/i18n/locales/ar.json +72 -45
- package/src/i18n/locales/de.json +65 -34
- package/src/i18n/locales/en.json +63 -47
- package/src/i18n/locales/es.json +65 -35
- package/src/i18n/locales/fr.json +65 -35
- package/src/i18n/locales/it.json +72 -42
- package/src/i18n/locales/ja.json +72 -41
- package/src/i18n/locales/ko.json +72 -41
- package/src/i18n/locales/pt.json +72 -42
- package/src/i18n/locales/ru.json +72 -43
- package/src/i18n/locales/tr.json +72 -41
- package/src/i18n/locales/zh-TW.json +72 -41
- package/src/i18n/locales/zh.json +72 -41
- package/src/i18n/rtl.test.ts +57 -1
- package/src/session/UserSession.ts +0 -16
- package/src/session/UserSessionProvider.tsx +51 -123
- package/src/session/auth/composable.ts +3 -34
- package/src/shell/login/SignInPrimitives.tsx +3 -2
- package/src/widgets/schema-editor/editor/Editable.tsx +1 -1
- package/lib/features/document-viewer/UniversalDocumentViewer.d.ts +0 -73
- package/lib/features/document-viewer/UniversalDocumentViewer.d.ts.map +0 -1
- package/lib/features/document-viewer/UniversalDocumentViewer.js +0 -415
- package/lib/features/document-viewer/UniversalDocumentViewer.js.map +0 -1
- package/lib/features/document-viewer/index.d.ts +0 -2
- package/lib/features/document-viewer/index.d.ts.map +0 -1
- package/lib/features/document-viewer/index.js +0 -2
- package/lib/features/document-viewer/index.js.map +0 -1
- package/src/features/document-viewer/UniversalDocumentViewer.test.tsx +0 -123
- package/src/features/document-viewer/UniversalDocumentViewer.tsx +0 -746
- package/src/features/document-viewer/index.ts +0 -1
- package/src/session/auth/composable.test.ts +0 -79
|
@@ -45,7 +45,7 @@ function EditableDataView({ viewer: Viewer, value, onEdit, editOnClick, outlineO
|
|
|
45
45
|
const btnStyle = 'invisible group-hover:visible';
|
|
46
46
|
return (_jsxs("div", { role: editOnClick ? 'button' : undefined, tabIndex: 0, onKeyUp: onKeyUp, onClick: onClick, className: clsx('flex justify-start items-center group', outlineOnHover ? VIEW_BOX_HOVER : VIEW_BOX, {
|
|
47
47
|
'cursor-pointer': editOnClick,
|
|
48
|
-
}), children: [_jsx(Viewer, { value: value, placeholder: placeholder }), _jsxs("div", { className: "ms-auto flex
|
|
48
|
+
}), children: [_jsx(Viewer, { value: value, placeholder: placeholder }), _jsxs("div", { className: "ms-auto flex gap-2", children: [!isReadonly && onDelete && (_jsx(Button, { variant: "ghost", size: "sm", className: btnStyle, onClick: onDelete, children: _jsx(Trash2, { className: "size-4" }) })), !isReadonly ? (_jsx(Button, { variant: "ghost", size: "sm", className: btnStyle, onClick: onEdit, children: _jsx(SquarePen, { className: "size-4" }) })) : null] })] }));
|
|
49
49
|
}
|
|
50
50
|
function DataEdit({ editor: Editor, value, onSave, onCancel, skipClickOutside }) {
|
|
51
51
|
const [actualValue, setActualValue] = useState(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editable.js","sourceRoot":"","sources":["../../../../src/widgets/schema-editor/editor/Editable.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Editable.js","sourceRoot":"","sources":["../../../../src/widgets/schema-editor/editor/Editable.tsx"],"names":[],"mappings":"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"}
|
package/llms.txt
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
## Reference URLs
|
|
7
7
|
|
|
8
|
-
- Visual style guide: https://
|
|
9
|
-
- Markdown component guide: https://
|
|
10
|
-
- LLM reference: https://
|
|
8
|
+
- Visual style guide: https://docs-ui-style-shadcn.vertesia.dev
|
|
9
|
+
- Markdown component guide: https://docs-ui-style-shadcn.vertesia.dev/components.md
|
|
10
|
+
- LLM reference: https://docs-ui-style-shadcn.vertesia.dev/llms.txt
|
|
11
11
|
|
|
12
12
|
# @vertesia/ui Component Reference
|
|
13
13
|
|
|
14
14
|
> Markdown rendition of the Vertesia UI style guide for LLMs and text-first clients.
|
|
15
|
-
> Visual style guide: https://
|
|
15
|
+
> Visual style guide: https://docs-ui-style-shadcn.vertesia.dev
|
|
16
16
|
|
|
17
17
|
Use this file when generating React UI for Vertesia apps or plugins. Prefer `@vertesia/ui`
|
|
18
18
|
components over local duplicates, and use semantic color classes instead of hardcoded colors.
|
|
@@ -31,65 +31,65 @@ import { useUserSession } from '@vertesia/ui/session';
|
|
|
31
31
|
|
|
32
32
|
## Classes
|
|
33
33
|
|
|
34
|
-
- [Semantic](https://
|
|
35
|
-
- [Background](https://
|
|
36
|
-
- [Text](https://
|
|
37
|
-
- [Border & Ring](https://
|
|
38
|
-
- [Icons](https://
|
|
34
|
+
- [Semantic](https://docs-ui-style-shadcn.vertesia.dev/semantic)
|
|
35
|
+
- [Background](https://docs-ui-style-shadcn.vertesia.dev/classes/background)
|
|
36
|
+
- [Text](https://docs-ui-style-shadcn.vertesia.dev/classes/text)
|
|
37
|
+
- [Border & Ring](https://docs-ui-style-shadcn.vertesia.dev/classes/border)
|
|
38
|
+
- [Icons](https://docs-ui-style-shadcn.vertesia.dev/classes/icons)
|
|
39
39
|
|
|
40
40
|
## Components
|
|
41
41
|
|
|
42
|
-
- [Heading](https://
|
|
43
|
-
- [Buttons](https://
|
|
44
|
-
- [Badges](https://
|
|
45
|
-
- [Dot Badges](https://
|
|
46
|
-
- [Message Box](https://
|
|
47
|
-
- [Modal](https://
|
|
48
|
-
- [Confirm Modal](https://
|
|
49
|
-
- [Delete Modal](https://
|
|
50
|
-
- [Filter](https://
|
|
51
|
-
- [Tabs](https://
|
|
52
|
-
- [Tooltips](https://
|
|
53
|
-
- [Switch](https://
|
|
54
|
-
- [Side Panel](https://
|
|
55
|
-
- [SelectBox](https://
|
|
56
|
-
- [Overlay](https://
|
|
57
|
-
- [Breadcrumbs](https://
|
|
58
|
-
- [Monaco](https://
|
|
59
|
-
- [Card](https://
|
|
60
|
-
- [Checkbox](https://
|
|
61
|
-
- [Collapsible](https://
|
|
62
|
-
- [Command](https://
|
|
63
|
-
- [Dropdown](https://
|
|
64
|
-
- [Label](https://
|
|
65
|
-
- [Panel](https://
|
|
66
|
-
- [Popover](https://
|
|
67
|
-
- [Radio Group](https://
|
|
68
|
-
- [Resizeable](https://
|
|
69
|
-
- [Separator](https://
|
|
70
|
-
- [Text](https://
|
|
71
|
-
- [Theme](https://
|
|
42
|
+
- [Heading](https://docs-ui-style-shadcn.vertesia.dev/components/heading)
|
|
43
|
+
- [Buttons](https://docs-ui-style-shadcn.vertesia.dev/components/buttons)
|
|
44
|
+
- [Badges](https://docs-ui-style-shadcn.vertesia.dev/components/badges)
|
|
45
|
+
- [Dot Badges](https://docs-ui-style-shadcn.vertesia.dev/components/dotBadges)
|
|
46
|
+
- [Message Box](https://docs-ui-style-shadcn.vertesia.dev/components/messageBox)
|
|
47
|
+
- [Modal](https://docs-ui-style-shadcn.vertesia.dev/components/modal)
|
|
48
|
+
- [Confirm Modal](https://docs-ui-style-shadcn.vertesia.dev/components/confirmModal)
|
|
49
|
+
- [Delete Modal](https://docs-ui-style-shadcn.vertesia.dev/components/deleteModal)
|
|
50
|
+
- [Filter](https://docs-ui-style-shadcn.vertesia.dev/components/filter)
|
|
51
|
+
- [Tabs](https://docs-ui-style-shadcn.vertesia.dev/components/tabs)
|
|
52
|
+
- [Tooltips](https://docs-ui-style-shadcn.vertesia.dev/components/tooltips)
|
|
53
|
+
- [Switch](https://docs-ui-style-shadcn.vertesia.dev/components/switch)
|
|
54
|
+
- [Side Panel](https://docs-ui-style-shadcn.vertesia.dev/components/sidePanel)
|
|
55
|
+
- [SelectBox](https://docs-ui-style-shadcn.vertesia.dev/components/selectBox)
|
|
56
|
+
- [Overlay](https://docs-ui-style-shadcn.vertesia.dev/components/overlay)
|
|
57
|
+
- [Breadcrumbs](https://docs-ui-style-shadcn.vertesia.dev/components/breadcrumb)
|
|
58
|
+
- [Monaco](https://docs-ui-style-shadcn.vertesia.dev/components/monaco)
|
|
59
|
+
- [Card](https://docs-ui-style-shadcn.vertesia.dev/components/card)
|
|
60
|
+
- [Checkbox](https://docs-ui-style-shadcn.vertesia.dev/components/checkbox)
|
|
61
|
+
- [Collapsible](https://docs-ui-style-shadcn.vertesia.dev/components/collapsible)
|
|
62
|
+
- [Command](https://docs-ui-style-shadcn.vertesia.dev/components/command)
|
|
63
|
+
- [Dropdown](https://docs-ui-style-shadcn.vertesia.dev/components/dropdown)
|
|
64
|
+
- [Label](https://docs-ui-style-shadcn.vertesia.dev/components/label)
|
|
65
|
+
- [Panel](https://docs-ui-style-shadcn.vertesia.dev/components/panel)
|
|
66
|
+
- [Popover](https://docs-ui-style-shadcn.vertesia.dev/components/popover)
|
|
67
|
+
- [Radio Group](https://docs-ui-style-shadcn.vertesia.dev/components/radioGroup)
|
|
68
|
+
- [Resizeable](https://docs-ui-style-shadcn.vertesia.dev/components/resizeable)
|
|
69
|
+
- [Separator](https://docs-ui-style-shadcn.vertesia.dev/components/separator)
|
|
70
|
+
- [Text](https://docs-ui-style-shadcn.vertesia.dev/components/text)
|
|
71
|
+
- [Theme](https://docs-ui-style-shadcn.vertesia.dev/components/theme)
|
|
72
72
|
|
|
73
73
|
## Layout & Structure
|
|
74
74
|
|
|
75
|
-
- [Avatar](https://
|
|
76
|
-
- [Center](https://
|
|
77
|
-
- [Divider](https://
|
|
78
|
-
- [Link](https://
|
|
79
|
-
- [Portal](https://
|
|
80
|
-
- [Spinner](https://
|
|
75
|
+
- [Avatar](https://docs-ui-style-shadcn.vertesia.dev/components/avatar)
|
|
76
|
+
- [Center](https://docs-ui-style-shadcn.vertesia.dev/components/center)
|
|
77
|
+
- [Divider](https://docs-ui-style-shadcn.vertesia.dev/components/divider)
|
|
78
|
+
- [Link](https://docs-ui-style-shadcn.vertesia.dev/components/link)
|
|
79
|
+
- [Portal](https://docs-ui-style-shadcn.vertesia.dev/components/portal)
|
|
80
|
+
- [Spinner](https://docs-ui-style-shadcn.vertesia.dev/components/spinner)
|
|
81
81
|
|
|
82
82
|
## Forms
|
|
83
83
|
|
|
84
|
-
- [FormItem](https://
|
|
85
|
-
- [Inputs](https://
|
|
86
|
-
- [Textarea](https://
|
|
87
|
-
- [ComboBox](https://
|
|
88
|
-
- [InputList](https://
|
|
89
|
-
- [MenuList](https://
|
|
90
|
-
- [NumberInput](https://
|
|
91
|
-
- [SelectList](https://
|
|
92
|
-
- [TagsInput](https://
|
|
84
|
+
- [FormItem](https://docs-ui-style-shadcn.vertesia.dev/components/formItem)
|
|
85
|
+
- [Inputs](https://docs-ui-style-shadcn.vertesia.dev/components/inputs)
|
|
86
|
+
- [Textarea](https://docs-ui-style-shadcn.vertesia.dev/components/textarea)
|
|
87
|
+
- [ComboBox](https://docs-ui-style-shadcn.vertesia.dev/components/comboBox)
|
|
88
|
+
- [InputList](https://docs-ui-style-shadcn.vertesia.dev/components/inputList)
|
|
89
|
+
- [MenuList](https://docs-ui-style-shadcn.vertesia.dev/components/menuList)
|
|
90
|
+
- [NumberInput](https://docs-ui-style-shadcn.vertesia.dev/components/numberInput)
|
|
91
|
+
- [SelectList](https://docs-ui-style-shadcn.vertesia.dev/components/selectList)
|
|
92
|
+
- [TagsInput](https://docs-ui-style-shadcn.vertesia.dev/components/tagsInput)
|
|
93
93
|
|
|
94
94
|
# Component Guidance
|
|
95
95
|
|
|
@@ -97,7 +97,7 @@ import { useUserSession } from '@vertesia/ui/session';
|
|
|
97
97
|
|
|
98
98
|
Primary action primitive with Vertesia variants, loading state, disabled state, and tooltip support.
|
|
99
99
|
|
|
100
|
-
- Route: https://
|
|
100
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/buttons
|
|
101
101
|
- Import path: `@vertesia/ui/core`
|
|
102
102
|
- Exports: `Button`, `CopyButton`, `buttonVariants`
|
|
103
103
|
|
|
@@ -147,7 +147,7 @@ import { Button } from '@vertesia/ui/core';
|
|
|
147
147
|
|
|
148
148
|
Single-line text input with a simplified value-based `onChange` callback.
|
|
149
149
|
|
|
150
|
-
- Route: https://
|
|
150
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/inputs
|
|
151
151
|
- Import path: `@vertesia/ui/core`
|
|
152
152
|
- Exports: `Input`
|
|
153
153
|
|
|
@@ -184,7 +184,7 @@ const [name, setName] = useState('');
|
|
|
184
184
|
|
|
185
185
|
Multi-line text control using standard React textarea event handling.
|
|
186
186
|
|
|
187
|
-
- Route: https://
|
|
187
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/textarea
|
|
188
188
|
- Import path: `@vertesia/ui/core`
|
|
189
189
|
- Exports: `Textarea`
|
|
190
190
|
|
|
@@ -215,7 +215,7 @@ Multi-line text control using standard React textarea event handling.
|
|
|
215
215
|
|
|
216
216
|
Field wrapper for labels, required indicators, and help tooltips.
|
|
217
217
|
|
|
218
|
-
- Route: https://
|
|
218
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/formItem
|
|
219
219
|
- Import path: `@vertesia/ui/core`
|
|
220
220
|
- Exports: `FormItem`
|
|
221
221
|
|
|
@@ -248,7 +248,7 @@ Field wrapper for labels, required indicators, and help tooltips.
|
|
|
248
248
|
|
|
249
249
|
Accessible overlay dialog for focused tasks and forms.
|
|
250
250
|
|
|
251
|
-
- Route: https://
|
|
251
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/modal
|
|
252
252
|
- Import path: `@vertesia/ui/core`
|
|
253
253
|
- Exports: `Modal`, `ModalTitle`, `ModalBody`, `ModalFooter`
|
|
254
254
|
|
|
@@ -293,7 +293,7 @@ Accessible overlay dialog for focused tasks and forms.
|
|
|
293
293
|
|
|
294
294
|
Confirmation dialog for actions that need explicit user consent.
|
|
295
295
|
|
|
296
|
-
- Route: https://
|
|
296
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/confirmModal
|
|
297
297
|
- Import path: `@vertesia/ui/core`
|
|
298
298
|
- Exports: `ConfirmModal`
|
|
299
299
|
|
|
@@ -316,7 +316,7 @@ Confirmation dialog for actions that need explicit user consent.
|
|
|
316
316
|
|
|
317
317
|
Delete-specific confirmation wrapper with async delete handling and toast feedback.
|
|
318
318
|
|
|
319
|
-
- Route: https://
|
|
319
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/deleteModal
|
|
320
320
|
- Import path: `@vertesia/ui/core`
|
|
321
321
|
- Exports: `DeleteModal`
|
|
322
322
|
|
|
@@ -342,7 +342,7 @@ Delete-specific confirmation wrapper with async delete handling and toast feedba
|
|
|
342
342
|
|
|
343
343
|
Dropdown select for string or object options, with optional search, clear, and multi-select modes.
|
|
344
344
|
|
|
345
|
-
- Route: https://
|
|
345
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/selectBox
|
|
346
346
|
- Import path: `@vertesia/ui/core`
|
|
347
347
|
- Exports: `SelectBox`
|
|
348
348
|
|
|
@@ -383,7 +383,7 @@ Dropdown select for string or object options, with optional search, clear, and m
|
|
|
383
383
|
|
|
384
384
|
Tab container driven by an array of tab objects and companion bar/panel components.
|
|
385
385
|
|
|
386
|
-
- Route: https://
|
|
386
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/tabs
|
|
387
387
|
- Import path: `@vertesia/ui/core`
|
|
388
388
|
- Exports: `Tabs`, `TabsBar`, `TabsPanel`, `VTabs`, `VTabsBar`, `VTabsPanel`
|
|
389
389
|
|
|
@@ -408,7 +408,7 @@ Tab container driven by an array of tab objects and companion bar/panel componen
|
|
|
408
408
|
|
|
409
409
|
Compact status and category labels.
|
|
410
410
|
|
|
411
|
-
- Route: https://
|
|
411
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/badges
|
|
412
412
|
- Import path: `@vertesia/ui/core`
|
|
413
413
|
- Exports: `Badge`, `DotBadge`
|
|
414
414
|
|
|
@@ -425,7 +425,7 @@ Compact status and category labels.
|
|
|
425
425
|
|
|
426
426
|
Semantic feedback box for success, attention, destructive, done, info, and muted messages.
|
|
427
427
|
|
|
428
|
-
- Route: https://
|
|
428
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/messageBox
|
|
429
429
|
- Import path: `@vertesia/ui/core`
|
|
430
430
|
- Exports: `MessageBox`
|
|
431
431
|
|
|
@@ -437,7 +437,7 @@ Semantic feedback box for success, attention, destructive, done, info, and muted
|
|
|
437
437
|
|
|
438
438
|
Choice controls for boolean values and mutually exclusive option sets.
|
|
439
439
|
|
|
440
|
-
- Route: https://
|
|
440
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/checkbox
|
|
441
441
|
- Import path: `@vertesia/ui/core`
|
|
442
442
|
- Exports: `Checkbox`, `Switch`, `RadioGroup`, `RadioGroupItem`, `RadioGroupOption`
|
|
443
443
|
|
|
@@ -451,7 +451,7 @@ Choice controls for boolean values and mutually exclusive option sets.
|
|
|
451
451
|
|
|
452
452
|
Overlay primitives for action menus, floating content, command palettes, and contextual help.
|
|
453
453
|
|
|
454
|
-
- Route: https://
|
|
454
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/dropdown
|
|
455
455
|
- Import path: `@vertesia/ui/core`
|
|
456
456
|
- Exports: `Dropdown`, `MenuGroup`, `MenuItem`, `Popover`, `Command`, `VTooltip`, `Tooltip`
|
|
457
457
|
|
|
@@ -466,7 +466,7 @@ Overlay primitives for action menus, floating content, command palettes, and con
|
|
|
466
466
|
|
|
467
467
|
Content containers for repeated items and framed tool surfaces.
|
|
468
468
|
|
|
469
|
-
- Route: https://
|
|
469
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/card
|
|
470
470
|
- Import path: `@vertesia/ui/core`
|
|
471
471
|
- Exports: `Card`, `CardHeader`, `CardTitle`, `CardDescription`, `CardContent`, `CardFooter`, `Panel`
|
|
472
472
|
|
|
@@ -479,7 +479,7 @@ Content containers for repeated items and framed tool surfaces.
|
|
|
479
479
|
|
|
480
480
|
Small primitives for display, separation, links, loading states, portals, and overlays.
|
|
481
481
|
|
|
482
|
-
- Route: https://
|
|
482
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/components/center
|
|
483
483
|
- Import path: `@vertesia/ui/core`
|
|
484
484
|
- Exports: `Avatar`, `SvgAvatar`, `Center`, `Divider`, `Link`, `Portal`, `Spinner`, `Separator`, `Overlay`
|
|
485
485
|
|
|
@@ -493,7 +493,7 @@ Small primitives for display, separation, links, loading states, portals, and ov
|
|
|
493
493
|
|
|
494
494
|
Semantic Tailwind classes and approved lucide-react icon guidance for Vertesia apps.
|
|
495
495
|
|
|
496
|
-
- Route: https://
|
|
496
|
+
- Route: https://docs-ui-style-shadcn.vertesia.dev/semantic
|
|
497
497
|
- Import path: `@vertesia/ui/core`
|
|
498
498
|
- Exports: `ModeToggle`
|
|
499
499
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertesia/ui",
|
|
3
|
-
"version": "1.4.0-dev.
|
|
3
|
+
"version": "1.4.0-dev.20260629.130134Z",
|
|
4
4
|
"description": "Vertesia UI components and and hooks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -24,24 +24,24 @@
|
|
|
24
24
|
"@floating-ui/dom": "^1.7.6",
|
|
25
25
|
"@floating-ui/react": "^0.27.19",
|
|
26
26
|
"@monaco-editor/react": "^4.7.0",
|
|
27
|
-
"@radix-ui/react-checkbox": "^1.3.
|
|
28
|
-
"@radix-ui/react-collapsible": "^1.1.
|
|
29
|
-
"@radix-ui/react-dialog": "^1.1.
|
|
30
|
-
"@radix-ui/react-direction": "^1.1.
|
|
31
|
-
"@radix-ui/react-dismissable-layer": "^1.1.
|
|
32
|
-
"@radix-ui/react-dropdown-menu": "^2.1.
|
|
33
|
-
"@radix-ui/react-focus-guards": "^1.1.
|
|
34
|
-
"@radix-ui/react-focus-scope": "^1.1.
|
|
35
|
-
"@radix-ui/react-label": "^2.1.
|
|
36
|
-
"@radix-ui/react-popover": "^1.1.
|
|
37
|
-
"@radix-ui/react-portal": "^1.1.
|
|
38
|
-
"@radix-ui/react-radio-group": "^1.
|
|
39
|
-
"@radix-ui/react-separator": "^1.1.
|
|
27
|
+
"@radix-ui/react-checkbox": "^1.3.4",
|
|
28
|
+
"@radix-ui/react-collapsible": "^1.1.13",
|
|
29
|
+
"@radix-ui/react-dialog": "^1.1.16",
|
|
30
|
+
"@radix-ui/react-direction": "^1.1.2",
|
|
31
|
+
"@radix-ui/react-dismissable-layer": "^1.1.12",
|
|
32
|
+
"@radix-ui/react-dropdown-menu": "^2.1.17",
|
|
33
|
+
"@radix-ui/react-focus-guards": "^1.1.4",
|
|
34
|
+
"@radix-ui/react-focus-scope": "^1.1.9",
|
|
35
|
+
"@radix-ui/react-label": "^2.1.9",
|
|
36
|
+
"@radix-ui/react-popover": "^1.1.16",
|
|
37
|
+
"@radix-ui/react-portal": "^1.1.11",
|
|
38
|
+
"@radix-ui/react-radio-group": "^1.4.0",
|
|
39
|
+
"@radix-ui/react-separator": "^1.1.9",
|
|
40
40
|
"@radix-ui/react-slider": "^1.4.0",
|
|
41
|
-
"@radix-ui/react-slot": "^1.2.
|
|
42
|
-
"@radix-ui/react-switch": "^1.
|
|
43
|
-
"@radix-ui/react-tabs": "^1.1.
|
|
44
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
41
|
+
"@radix-ui/react-slot": "^1.2.5",
|
|
42
|
+
"@radix-ui/react-switch": "^1.3.0",
|
|
43
|
+
"@radix-ui/react-tabs": "^1.1.14",
|
|
44
|
+
"@radix-ui/react-tooltip": "^1.2.9",
|
|
45
45
|
"ajv": "^8.20.0",
|
|
46
46
|
"ajv-formats": "^3.0.1",
|
|
47
47
|
"aria-hidden": "^1.2.6",
|
|
@@ -50,16 +50,16 @@
|
|
|
50
50
|
"cmdk": "^1.1.1",
|
|
51
51
|
"dayjs": "^1.11.21",
|
|
52
52
|
"debounce": "^3.0.0",
|
|
53
|
-
"dompurify": "^3.4.
|
|
53
|
+
"dompurify": "^3.4.11",
|
|
54
54
|
"fast-xml-parser": "^5.8.0",
|
|
55
55
|
"fast-xml-validator": "^1.1.0",
|
|
56
56
|
"firebase": "^12.14.0",
|
|
57
57
|
"framer-motion": "^12.40.0",
|
|
58
|
-
"i18next": "^26.3.
|
|
58
|
+
"i18next": "^26.3.1",
|
|
59
59
|
"jwt-decode": "^4.0.0",
|
|
60
60
|
"katex": "^0.17.0",
|
|
61
61
|
"lodash-es": "^4.18.1",
|
|
62
|
-
"lucide-react": "^1.
|
|
62
|
+
"lucide-react": "^1.18.0",
|
|
63
63
|
"mermaid": "^11.15.0",
|
|
64
64
|
"monaco-editor": "^0.55.1",
|
|
65
65
|
"motion": "^12.40.0",
|
|
@@ -90,10 +90,10 @@
|
|
|
90
90
|
"vega": "^6.2.0",
|
|
91
91
|
"vega-embed": "^7.1.0",
|
|
92
92
|
"vega-lite": "^6.4.3",
|
|
93
|
-
"@vertesia/
|
|
94
|
-
"@vertesia/
|
|
95
|
-
"@vertesia/
|
|
96
|
-
"@vertesia/
|
|
93
|
+
"@vertesia/common": "1.4.0-dev.20260629.130134Z",
|
|
94
|
+
"@vertesia/json": "1.4.0-dev.20260629.130134Z",
|
|
95
|
+
"@vertesia/fusion-ux": "1.4.0-dev.20260629.130134Z",
|
|
96
|
+
"@vertesia/client": "1.4.0-dev.20260629.130134Z"
|
|
97
97
|
},
|
|
98
98
|
"devDependencies": {
|
|
99
99
|
"@rollup/plugin-commonjs": "^29.0.3",
|
|
@@ -105,17 +105,17 @@
|
|
|
105
105
|
"@testing-library/user-event": "^14.6.1",
|
|
106
106
|
"@types/hast": "^3.0.4",
|
|
107
107
|
"@types/lodash-es": "^4.17.12",
|
|
108
|
-
"@types/node": "^24.
|
|
108
|
+
"@types/node": "^24.13.2",
|
|
109
109
|
"@types/papaparse": "^5.5.2",
|
|
110
|
-
"@types/react": "^19.2.
|
|
110
|
+
"@types/react": "^19.2.17",
|
|
111
111
|
"@types/react-dom": "^19.2.3",
|
|
112
|
-
"axe-core": "^4.12.
|
|
112
|
+
"axe-core": "^4.12.1",
|
|
113
113
|
"culori": "^4.0.2",
|
|
114
|
-
"i18next-cli": "^1.
|
|
114
|
+
"i18next-cli": "^1.63.1",
|
|
115
115
|
"jsdom": "^29.1.1",
|
|
116
|
-
"rollup": "^4.61.
|
|
116
|
+
"rollup": "^4.61.1",
|
|
117
117
|
"typescript": "^6.0.3",
|
|
118
|
-
"vitest": "^4.1.
|
|
118
|
+
"vitest": "^4.1.9",
|
|
119
119
|
"vitest-axe": "^0.1.0",
|
|
120
120
|
"wcag-contrast": "^3.0.0",
|
|
121
121
|
"@vertesia/tsconfig": "0.1.0"
|
|
@@ -186,9 +186,12 @@
|
|
|
186
186
|
"directory": "packages/ui"
|
|
187
187
|
},
|
|
188
188
|
"scripts": {
|
|
189
|
-
"
|
|
189
|
+
"clean:lib": "rimraf ./lib ./tsconfig.tsbuildinfo",
|
|
190
|
+
"clean": "rimraf ./node_modules ./lib ./tsconfig.tsbuildinfo",
|
|
191
|
+
"build": "pnpm run check:locales && pnpm run clean:lib && tsc -p tsconfig.json && pnpm exec rollup -c",
|
|
190
192
|
"lint": "biome lint src && pnpm run check:rtl-classes",
|
|
191
193
|
"lint:fix": "biome lint --write src",
|
|
194
|
+
"check:locales": "node scripts/check-locales.mjs",
|
|
192
195
|
"check:rtl-classes": "node scripts/check-rtl-classes.mjs --mode=strict",
|
|
193
196
|
"test": "vitest run",
|
|
194
197
|
"test:watch": "vitest",
|
|
@@ -30,6 +30,7 @@ function DropdownMenuContent({
|
|
|
30
30
|
sideOffset={sideOffset}
|
|
31
31
|
align={align}
|
|
32
32
|
className={cn(
|
|
33
|
+
// rtl-ok: Radix data-side values are physical popper sides; slide direction follows the side.
|
|
33
34
|
'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden',
|
|
34
35
|
className,
|
|
35
36
|
)}
|
|
@@ -210,6 +211,7 @@ function DropdownMenuSubContent({
|
|
|
210
211
|
<DropdownMenuPrimitive.SubContent
|
|
211
212
|
data-slot="dropdown-menu-sub-content"
|
|
212
213
|
className={cn(
|
|
214
|
+
// rtl-ok: Radix data-side values are physical popper sides; slide direction follows the side.
|
|
213
215
|
'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-[96px] rounded-lg p-1 shadow-lg ring-1 duration-100 z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden',
|
|
214
216
|
className,
|
|
215
217
|
)}
|
|
@@ -99,7 +99,11 @@ const FilterProvider = ({ filters, setFilters, filterGroups, children, inModal }
|
|
|
99
99
|
const newFilters: Filter[] = [];
|
|
100
100
|
|
|
101
101
|
for (const pair of filterPairs) {
|
|
102
|
-
const
|
|
102
|
+
const separatorIndex = pair.indexOf(':');
|
|
103
|
+
if (separatorIndex === -1) continue;
|
|
104
|
+
|
|
105
|
+
const encodedName = pair.slice(0, separatorIndex);
|
|
106
|
+
const valuesString = pair.slice(separatorIndex + 1);
|
|
103
107
|
const name = decodeURIComponent(encodedName);
|
|
104
108
|
|
|
105
109
|
if (processedUrlFilters.current.has(name)) continue;
|
|
@@ -161,7 +165,10 @@ const FilterProvider = ({ filters, setFilters, filterGroups, children, inModal }
|
|
|
161
165
|
}
|
|
162
166
|
|
|
163
167
|
if (newFilters.length > 0) {
|
|
164
|
-
setFilters((prev) =>
|
|
168
|
+
setFilters((prev) => {
|
|
169
|
+
const restoredNames = new Set(newFilters.map((filter) => filter.name));
|
|
170
|
+
return [...prev.filter((filter) => !restoredNames.has(filter.name)), ...newFilters];
|
|
171
|
+
});
|
|
165
172
|
}
|
|
166
173
|
|
|
167
174
|
hasRestoredFromUrl.current = true;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { useUITranslation } from '@vertesia/ui/i18n';
|
|
2
2
|
import { TriangleAlert } from 'lucide-react';
|
|
3
3
|
import type React from 'react';
|
|
4
|
-
import { useRef } from 'react';
|
|
4
|
+
import { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { FormItem } from '../../FormItem';
|
|
5
6
|
import { Button } from '../button';
|
|
7
|
+
import { Input } from '../input';
|
|
6
8
|
import { Modal, ModalFooter, ModalTitle } from './dialog';
|
|
7
9
|
|
|
8
10
|
interface ConfirmModalProps {
|
|
@@ -12,11 +14,53 @@ interface ConfirmModalProps {
|
|
|
12
14
|
onCancel: () => void;
|
|
13
15
|
isOpen: boolean;
|
|
14
16
|
isLoading?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* When set, the user must type this exact value into a confirmation input
|
|
19
|
+
* before the Confirm button is enabled. Use for destructive, irreversible
|
|
20
|
+
* actions (e.g. typing a principal's email before deleting their access).
|
|
21
|
+
* Matching ignores leading/trailing whitespace but is case-sensitive.
|
|
22
|
+
*/
|
|
23
|
+
confirmationValue?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Label rendered above the confirmation input. Recommended whenever
|
|
26
|
+
* `confirmationValue` is set so the user knows what to type. Ignored when
|
|
27
|
+
* `confirmationValue` is not set.
|
|
28
|
+
*/
|
|
29
|
+
confirmationLabel?: React.ReactNode;
|
|
30
|
+
/** Placeholder for the confirmation input. Ignored when `confirmationValue` is not set. */
|
|
31
|
+
confirmationPlaceholder?: string;
|
|
15
32
|
}
|
|
16
33
|
|
|
17
|
-
export function ConfirmModal({
|
|
34
|
+
export function ConfirmModal({
|
|
35
|
+
title,
|
|
36
|
+
content,
|
|
37
|
+
onConfirm,
|
|
38
|
+
onCancel,
|
|
39
|
+
isOpen,
|
|
40
|
+
isLoading,
|
|
41
|
+
confirmationValue,
|
|
42
|
+
confirmationLabel,
|
|
43
|
+
confirmationPlaceholder,
|
|
44
|
+
}: ConfirmModalProps) {
|
|
18
45
|
const { t } = useUITranslation();
|
|
19
46
|
const cancelButtonRef = useRef(null);
|
|
47
|
+
const [typedValue, setTypedValue] = useState('');
|
|
48
|
+
|
|
49
|
+
// Clear the typed confirmation when the modal closes so a stale (possibly
|
|
50
|
+
// matching) value can never carry into the next time it is opened.
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (!isOpen) {
|
|
53
|
+
setTypedValue('');
|
|
54
|
+
}
|
|
55
|
+
}, [isOpen]);
|
|
56
|
+
|
|
57
|
+
const requiresConfirmation = !!confirmationValue;
|
|
58
|
+
const isConfirmed = !confirmationValue || typedValue.trim() === confirmationValue.trim();
|
|
59
|
+
|
|
60
|
+
const handleConfirm = () => {
|
|
61
|
+
if (!isConfirmed || isLoading) return;
|
|
62
|
+
onConfirm();
|
|
63
|
+
};
|
|
20
64
|
|
|
21
65
|
return (
|
|
22
66
|
<Modal isOpen={isOpen} onClose={onCancel} description="Confirm Modal">
|
|
@@ -33,8 +77,26 @@ export function ConfirmModal({ title, content, onConfirm, onCancel, isOpen, isLo
|
|
|
33
77
|
</div>
|
|
34
78
|
</div>
|
|
35
79
|
</div>
|
|
80
|
+
{requiresConfirmation && (
|
|
81
|
+
<div className="px-2 pb-2 text-start">
|
|
82
|
+
<FormItem label={confirmationLabel ?? confirmationPlaceholder}>
|
|
83
|
+
<Input
|
|
84
|
+
autoFocus
|
|
85
|
+
value={typedValue}
|
|
86
|
+
onChange={setTypedValue}
|
|
87
|
+
placeholder={confirmationPlaceholder}
|
|
88
|
+
onKeyDown={(e) => {
|
|
89
|
+
if (e.key === 'Enter') {
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
handleConfirm();
|
|
92
|
+
}
|
|
93
|
+
}}
|
|
94
|
+
/>
|
|
95
|
+
</FormItem>
|
|
96
|
+
</div>
|
|
97
|
+
)}
|
|
36
98
|
<ModalFooter align="right">
|
|
37
|
-
<Button variant="destructive" onClick={
|
|
99
|
+
<Button variant="destructive" onClick={handleConfirm} isLoading={isLoading} disabled={!isConfirmed}>
|
|
38
100
|
{t('modal.confirm')}
|
|
39
101
|
</Button>
|
|
40
102
|
<Button variant="outline" onClick={onCancel} ref={cancelButtonRef}>
|
|
@@ -162,7 +162,7 @@ export const ModalFooter = ({ align = 'right', children, className, ...props }:
|
|
|
162
162
|
return (
|
|
163
163
|
<div
|
|
164
164
|
className={cn(
|
|
165
|
-
'w-full flex py-3 sm:py-2 sm:flex sm:flex-row-reverse sm:flex-row sm:justify-end
|
|
165
|
+
'w-full flex py-3 sm:py-2 sm:flex sm:flex-row-reverse sm:flex-row sm:justify-end gap-2',
|
|
166
166
|
alignClass[align],
|
|
167
167
|
className,
|
|
168
168
|
)}
|
|
@@ -103,6 +103,7 @@ const PopoverContent = React.forwardRef<
|
|
|
103
103
|
// onClick={() => {setOpen(false)}}
|
|
104
104
|
className={cn(
|
|
105
105
|
'z-50 w-72 rounded-md border-popover bg-popover text-popover-foreground ring-1 ring-gray-200 dark:ring-slate-700 shadow-md focus:outline-none animate-in',
|
|
106
|
+
// rtl-ok: Radix data-side values are physical popper sides; slide direction follows the side.
|
|
106
107
|
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
|
|
107
108
|
className,
|
|
108
109
|
)}
|
|
@@ -6,9 +6,9 @@ import { cn } from '../libs/utils';
|
|
|
6
6
|
// Thumb slide distance — physical translate-x in LTR, mirrored in RTL so the
|
|
7
7
|
// thumb slides toward the start of the track in both directions.
|
|
8
8
|
const sizes = {
|
|
9
|
-
sm: ['h-5 w-8', 'size-3', 'translate-x-4 rtl:-translate-x-4'],
|
|
10
|
-
md: ['h-6 w-11', 'size-4', 'translate-x-6 rtl:-translate-x-6'],
|
|
11
|
-
lg: ['h-8 w-16', 'size-6', 'translate-x-9 rtl:-translate-x-9'],
|
|
9
|
+
sm: ['h-5 w-8', 'size-3', 'translate-x-4 rtl:-translate-x-4'], // rtl-ok: mirrored thumb movement
|
|
10
|
+
md: ['h-6 w-11', 'size-4', 'translate-x-6 rtl:-translate-x-6'], // rtl-ok: mirrored thumb movement
|
|
11
|
+
lg: ['h-8 w-16', 'size-6', 'translate-x-9 rtl:-translate-x-9'], // rtl-ok: mirrored thumb movement
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
interface SwitchProps
|
|
@@ -44,7 +44,7 @@ function Switch({ className, size = 'md', value, onChange, children, disabled, .
|
|
|
44
44
|
className={cn(
|
|
45
45
|
'bg-white rounded-full pointer-events-none block ring-0 transition-transform',
|
|
46
46
|
thumbSize,
|
|
47
|
-
value ? thumbTranslate : 'translate-x-1 rtl:-translate-x-1',
|
|
47
|
+
value ? thumbTranslate : 'translate-x-1 rtl:-translate-x-1', // rtl-ok: mirrored thumb inset
|
|
48
48
|
)}
|
|
49
49
|
/>
|
|
50
50
|
</SwitchPrimitive.Root>
|
|
@@ -276,7 +276,7 @@ const TabsList: React.ForwardRefExoticComponent<
|
|
|
276
276
|
<TabsPrimitive.List
|
|
277
277
|
ref={ref}
|
|
278
278
|
className={cn(
|
|
279
|
-
variant === 'tabs' ? 'border-b -mb-px flex
|
|
279
|
+
variant === 'tabs' ? 'border-b -mb-px flex gap-4' : 'flex gap-2 p-1 rounded-md',
|
|
280
280
|
className,
|
|
281
281
|
)}
|
|
282
282
|
{...props}
|