@parhelia/core 0.1.12889 → 0.1.12891
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/dist/agents-view/AgentCard.js +7 -12
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryCard.js +2 -3
- package/dist/agents-view/AgentGalleryCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryView.js +6 -6
- package/dist/agents-view/AgentGalleryView.js.map +1 -1
- package/dist/agents-view/AgentProfileIcon.d.ts +9 -0
- package/dist/agents-view/AgentProfileIcon.js +28 -0
- package/dist/agents-view/AgentProfileIcon.js.map +1 -0
- package/dist/agents-view/AgentsSidebar.js +2 -2
- package/dist/agents-view/AgentsSidebar.js.map +1 -1
- package/dist/agents-view/AgentsTitlebar.d.ts +1 -2
- package/dist/agents-view/AgentsTitlebar.js +5 -6
- package/dist/agents-view/AgentsTitlebar.js.map +1 -1
- package/dist/agents-view/AgentsView.d.ts +8 -1
- package/dist/agents-view/AgentsView.js +8 -8
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +30 -22
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/CreateAgentView.js +1 -1
- package/dist/agents-view/CreateAgentView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.js +1 -1
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.js +3 -6
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/components/FilterInput.d.ts +2 -0
- package/dist/components/FilterInput.js +2 -2
- package/dist/components/FilterInput.js.map +1 -1
- package/dist/components/MarkdownDisplay.js +4 -4
- package/dist/components/MarkdownDisplay.js.map +1 -1
- package/dist/components/PageHeader.js +1 -1
- package/dist/components/PageHeader.js.map +1 -1
- package/dist/components/ui/LanguageSelectionGrid.js +1 -1
- package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
- package/dist/components/ui/alert-dialog.js +1 -1
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/card.d.ts +2 -1
- package/dist/components/ui/card.js +2 -2
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/multi-switch-button.d.ts +22 -0
- package/dist/components/ui/multi-switch-button.js +12 -0
- package/dist/components/ui/multi-switch-button.js.map +1 -0
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/config/config.js +6 -4
- package/dist/config/config.js.map +1 -1
- package/dist/config/types/sidebar.d.ts +2 -0
- package/dist/config/types.d.ts +1 -0
- package/dist/config/types.js.map +1 -1
- package/dist/editor/AdminRequiredView.js +1 -1
- package/dist/editor/AdminRequiredView.js.map +1 -1
- package/dist/editor/ContentTree.js +1 -1
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldActionsOverlay.js +2 -2
- package/dist/editor/FieldActionsOverlay.js.map +1 -1
- package/dist/editor/FieldHistory.js +2 -2
- package/dist/editor/FieldHistory.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +3 -1
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +10 -9
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +11 -9
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/MigrationsView.js +4 -4
- package/dist/editor/MigrationsView.js.map +1 -1
- package/dist/editor/Titlebar.d.ts +1 -1
- package/dist/editor/Titlebar.js +2 -2
- package/dist/editor/Titlebar.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.d.ts +5 -0
- package/dist/editor/WorkspaceTitleSwitcher.js +86 -0
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -0
- package/dist/editor/ai/AgentProfileSelector.js +2 -2
- package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
- package/dist/editor/ai/Agents.js +155 -43
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js +1 -1
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +4 -4
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/InlineAiTextEditTooltip.js +1 -1
- package/dist/editor/ai/InlineAiTextEditTooltip.js.map +1 -1
- package/dist/editor/ai/InlineAiTrigger.js +1 -1
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/agentMessageMarkdown.js +3 -3
- package/dist/editor/ai/agentMessageMarkdown.js.map +1 -1
- package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js +2 -2
- package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +2 -2
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBanners.js +2 -2
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js +1 -1
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +3 -3
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +5 -2
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +5 -3
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +3 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +3 -3
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +8 -8
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +2 -2
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +5 -5
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +3 -3
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +0 -5
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/AboutDialog.js +1 -1
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +15 -8
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/operations.js +1 -1
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.d.ts +1 -0
- package/dist/editor/client/pageModelBuilder.js +22 -13
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/content-tree/IndicatorSettings.js +3 -2
- package/dist/editor/content-tree/IndicatorSettings.js.map +1 -1
- package/dist/editor/media-selector/Preview.js +1 -1
- package/dist/editor/media-selector/Preview.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +1 -1
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +3 -14
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.d.ts +3 -2
- package/dist/editor/menubar/VersionSelector.js +28 -12
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +9 -8
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +7 -7
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.js +1 -1
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/NotificationItem.js +4 -3
- package/dist/editor/notifications/NotificationItem.js.map +1 -1
- package/dist/editor/notifications/watchEventOptions.js +3 -2
- package/dist/editor/notifications/watchEventOptions.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +10 -4
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +1 -1
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
- package/dist/editor/page-viewer/EditorFormHintPopover.js +1 -1
- package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +67 -0
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/RenderingParametersSection.js +1 -1
- package/dist/editor/page-viewer/RenderingParametersSection.js.map +1 -1
- package/dist/editor/personalization/PersonalizationPanel.js +3 -3
- package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
- package/dist/editor/personalization/RuleElementPicker.js +1 -1
- package/dist/editor/personalization/RuleElementPicker.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.js +1 -1
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentPopover.js +1 -1
- package/dist/editor/reviews/CommentPopover.js.map +1 -1
- package/dist/editor/reviews/CommentView.js +2 -2
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/CreateReviewConfirmStep.js +2 -2
- package/dist/editor/reviews/CreateReviewConfirmStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewDetailsStep.js +6 -6
- package/dist/editor/reviews/CreateReviewDetailsStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.js +2 -2
- package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +3 -3
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/EditReviewSettingsDialog.js +7 -7
- package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
- package/dist/editor/reviews/LatestFeedback.js +1 -1
- package/dist/editor/reviews/LatestFeedback.js.map +1 -1
- package/dist/editor/reviews/ReviewDetail.js +2 -2
- package/dist/editor/reviews/ReviewDetail.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +1 -1
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +5 -5
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/settings/About.js +4 -4
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +6 -6
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/SettingsCard.d.ts +4 -0
- package/dist/editor/settings/SettingsCard.js +7 -0
- package/dist/editor/settings/SettingsCard.js.map +1 -0
- package/dist/editor/settings/SettingsView.js +1 -1
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/index/AdvancedSettings.js +1 -1
- package/dist/editor/settings/index/AdvancedSettings.js.map +1 -1
- package/dist/editor/settings/index/EmbeddingProviderInfo.js +1 -1
- package/dist/editor/settings/index/EmbeddingProviderInfo.js.map +1 -1
- package/dist/editor/settings/index/IndexStatusCards.js +1 -1
- package/dist/editor/settings/index/IndexStatusCards.js.map +1 -1
- package/dist/editor/settings/index/LatestEmbeddingsList.js +1 -1
- package/dist/editor/settings/index/LatestEmbeddingsList.js.map +1 -1
- package/dist/editor/settings/index/RebuildIndexSection.js +1 -1
- package/dist/editor/settings/index/RebuildIndexSection.js.map +1 -1
- package/dist/editor/settings/index/RecentBatchesList.js +1 -1
- package/dist/editor/settings/index/RecentBatchesList.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +3 -2
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +3 -3
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +1 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +2 -2
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +3 -2
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js +2 -2
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/McpToolsPanel.js +1 -1
- package/dist/editor/settings/panels/McpToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelConfigPanel.js +1 -1
- package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelsPanel.js +2 -2
- package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
- package/dist/editor/settings/panels/PersistentLogsPanel.js +3 -3
- package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -2
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelector.js +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelector.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -3
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProviderIcon.js +1 -1
- package/dist/editor/settings/panels/ProviderIcon.js.map +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/SettingsPanel.js +1 -1
- package/dist/editor/settings/panels/SettingsPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +1 -1
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/settings/panels/SystemSettingsPanel.js +1 -1
- package/dist/editor/settings/panels/SystemSettingsPanel.js.map +1 -1
- package/dist/editor/settings/panels/UserPreferencesPanel.js +1 -1
- package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -1
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js +1 -1
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js +1 -1
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/ProviderStep.js +6 -6
- package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
- package/dist/editor/sidebar/Favorites.js +1 -1
- package/dist/editor/sidebar/Favorites.js.map +1 -1
- package/dist/editor/sidebar/SidebarPanel.js +3 -1
- package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
- package/dist/editor/sidebar/SidebarStack.js +1 -0
- package/dist/editor/sidebar/SidebarStack.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +1 -1
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +12 -11
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
- package/dist/editor/tree-indicators/GutterColumns.js +3 -2
- package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
- package/dist/editor/ui/Icons.js +1 -1
- package/dist/editor/ui/Icons.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.js +2 -2
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/PublishItemDialog.js +2 -2
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js +5 -5
- package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
- package/dist/editor/ui/Section.js +1 -1
- package/dist/editor/ui/Section.js.map +1 -1
- package/dist/editor/ui/SimpleMenu.js +3 -3
- package/dist/editor/ui/SimpleMenu.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.d.ts +2 -1
- package/dist/editor/ui/SimpleTabs.js +23 -5
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.js +120 -3
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TemplateSelectorDialog.js +2 -2
- package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
- package/dist/editor/ui/splitterResizeEvent.d.ts +7 -0
- package/dist/editor/ui/splitterResizeEvent.js +6 -0
- package/dist/editor/ui/splitterResizeEvent.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/licensing/LicenseOverlay.js +2 -2
- package/dist/licensing/LicenseOverlay.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/wizard/steps/ImportModelDialog.js +3 -3
- package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
- package/dist/splash-screen/ModernSplashScreen.js +26 -17
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/ParheliaAssistantChat.js +2 -2
- package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +2 -2
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +153 -164
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.js +1 -1
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.js +10 -6
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.d.ts +12 -22
- package/dist/task-board/components/ProjectDashboard.js +121 -109
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.js +5 -5
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +7 -4
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
- package/dist/task-board/components/ProjectPropertiesPanel.d.ts +2 -0
- package/dist/task-board/components/ProjectPropertiesPanel.js +12 -9
- package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.d.ts +18 -0
- package/dist/task-board/components/ProjectSettingsDialog.js +57 -47
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.js +6 -5
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneePicker.js +3 -2
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskAttachmentsSection.js +2 -2
- package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
- package/dist/task-board/components/TaskBoardHomeView.d.ts +1 -21
- package/dist/task-board/components/TaskBoardHomeView.js +18 -155
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js +4 -4
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +71 -14
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +9 -52
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/components/TaskCard.js +7 -24
- package/dist/task-board/components/TaskCard.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +18 -12
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +19 -18
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.js +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCards.js +4 -4
- package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationShared.js +3 -3
- package/dist/task-board/components/WizardTaskDetailsPanel.js +2 -2
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +0 -2
- package/dist/task-board/taskBoardNavStore.js +0 -2
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/taskStatus.js +2 -2
- package/dist/task-board/taskStatus.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.js +19 -8
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +240 -39
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +2 -3
- package/dist/task-board/views/ListView.js.map +1 -1
- package/dist/task-board/views/WizardView.d.ts +2 -0
- package/dist/task-board/views/WizardView.js +11 -8
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/package.json +2 -1
- package/styles.css +6 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Clock3 } from "lucide-react";
|
|
3
2
|
import { useEditContext } from "../client/editContext";
|
|
4
3
|
import { LanguageSelector } from "../../components/ui/LanguageSelector";
|
|
5
4
|
import { PageSelector } from "./PageSelector";
|
|
@@ -10,9 +9,6 @@ import { ItemActionsMenu } from "./ItemActionsMenu";
|
|
|
10
9
|
import { FavoritesControls } from "./FavoritesControls";
|
|
11
10
|
import { PreviewDatePicker } from "./PreviewDatePicker";
|
|
12
11
|
import { pickVersionAtDate } from "../utils/versionAtDate";
|
|
13
|
-
import { Button } from "../../components/ui/button";
|
|
14
|
-
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
|
|
15
|
-
import { publishRestrictionsCommand } from "../commands/itemCommands";
|
|
16
12
|
export function ItemLanguageVersion({ hideFavorites = false, hideActions = false, } = {}) {
|
|
17
13
|
const editContext = useEditContext();
|
|
18
14
|
if (!editContext)
|
|
@@ -66,20 +62,13 @@ export function ItemLanguageVersion({ hideFavorites = false, hideActions = false
|
|
|
66
62
|
? pickVersionAtDate(editContext.itemVersions, editContext.previewDate)
|
|
67
63
|
?.version
|
|
68
64
|
: undefined;
|
|
69
|
-
const versionSelector = item ? (_jsx(VersionSelector, { itemDescriptor: item, versions: editContext.itemVersions, actualVersion: previewDateVersion ?? editContext.item?.version, isLoading: isVersionSelectorLoading, showVersionPreviews: hasLayout, previewDateActive: isPreviewDateActive, onVersionSelected: (version) => {
|
|
65
|
+
const versionSelector = item ? (_jsx(VersionSelector, { itemDescriptor: item, versions: editContext.itemVersions, actualVersion: previewDateVersion ?? editContext.item?.version, isLoading: isVersionSelectorLoading, showVersionPreviews: hasLayout, previewDateActive: isPreviewDateActive, publishRestrictionsItem: editContext.item, onVersionSelected: (version) => {
|
|
70
66
|
editContext.setPreviewDate(undefined);
|
|
71
67
|
editContext.loadItem({ ...item, version });
|
|
72
68
|
} })) : null;
|
|
73
|
-
const fullItem = editContext.item;
|
|
74
|
-
const canOpenPublishRestrictions = !!fullItem && fullItem.canWriteItem && fullItem.canWriteLanguage;
|
|
75
|
-
const publishRestrictionsButton = fullItem ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "iconXs", disabled: !canOpenPublishRestrictions, "data-testid": "publish-restrictions-button", "aria-label": "Publish restrictions", onClick: (event) => editContext.executeCommand({
|
|
76
|
-
command: publishRestrictionsCommand,
|
|
77
|
-
data: { items: [fullItem] },
|
|
78
|
-
event,
|
|
79
|
-
}), children: _jsx(Clock3, { className: "h-4 w-4", strokeWidth: 1 }) }) }), _jsx(TooltipContent, { children: "Publish restrictions" })] })) : null;
|
|
80
69
|
if (editContext.isMobile) {
|
|
81
|
-
return (_jsxs("div", { className: "mr-1 flex w-full min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !isCompareMode && languageSelector && (_jsx("div", { className: "flex min-w-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode &&
|
|
70
|
+
return (_jsxs("div", { className: "mr-1 flex w-full min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !isCompareMode && languageSelector && (_jsx("div", { className: "flex min-w-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode && editContext.mode === "preview" && (_jsx("div", { className: "shrink-0", children: _jsx(PreviewDatePicker, {}) }))] }));
|
|
82
71
|
}
|
|
83
|
-
return (_jsxs("div", { className: "mr-3 flex min-w-0 items-center gap-3", "data-testid": "item-language-version-bar", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !hideFavorites && (_jsx("div", { className: "shrink-0", children: _jsx(FavoritesControls, { itemDescriptor: item || null, editContext: editContext }) }))] }), item && !hideActions && (_jsx("div", { className: "shrink-0", children: _jsx(ItemActionsMenu, { isMobile: false }) })), !isCompareMode && languageSelector && (_jsx("div", { className: "shrink-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode &&
|
|
72
|
+
return (_jsxs("div", { className: "mr-3 flex min-w-0 items-center gap-3", "data-testid": "item-language-version-bar", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !hideFavorites && (_jsx("div", { className: "shrink-0", children: _jsx(FavoritesControls, { itemDescriptor: item || null, editContext: editContext }) }))] }), item && !hideActions && (_jsx("div", { className: "shrink-0", children: _jsx(ItemActionsMenu, { isMobile: false }) })), !isCompareMode && languageSelector && (_jsx("div", { className: "shrink-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode && editContext.mode === "preview" && (_jsx("div", { className: "shrink-0", children: _jsx(PreviewDatePicker, {}) }))] }));
|
|
84
73
|
}
|
|
85
74
|
//# sourceMappingURL=ItemLanguageVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemLanguageVersion.js","sourceRoot":"","sources":["../../../src/editor/menubar/ItemLanguageVersion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ItemLanguageVersion.js","sourceRoot":"","sources":["../../../src/editor/menubar/ItemLanguageVersion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ItemDescriptor, Version } from "../pageModel";
|
|
2
|
-
export declare function VersionSelector({ itemDescriptor, actualVersion, onVersionSelected, readOnly, versions, isLoading, showVersionPreviews, previewDateActive, }: {
|
|
1
|
+
import { FullItem, ItemDescriptor, Version } from "../pageModel";
|
|
2
|
+
export declare function VersionSelector({ itemDescriptor, actualVersion, onVersionSelected, readOnly, versions, isLoading, showVersionPreviews, previewDateActive, publishRestrictionsItem, }: {
|
|
3
3
|
itemDescriptor: ItemDescriptor | undefined;
|
|
4
4
|
actualVersion: number | undefined;
|
|
5
5
|
onVersionSelected: (version: number) => void;
|
|
@@ -8,4 +8,5 @@ export declare function VersionSelector({ itemDescriptor, actualVersion, onVersi
|
|
|
8
8
|
isLoading?: boolean;
|
|
9
9
|
showVersionPreviews?: boolean;
|
|
10
10
|
previewDateActive?: boolean;
|
|
11
|
+
publishRestrictionsItem?: FullItem;
|
|
11
12
|
}): import("react/jsx-runtime").JSX.Element | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { Check, ChevronsUpDown, Loader2, Plus, X } from "lucide-react";
|
|
4
|
+
import { Check, ChevronsUpDown, Clock3, Loader2, Plus, X } from "lucide-react";
|
|
5
5
|
import { useEditContext } from "../client/editContext";
|
|
6
6
|
import { getCreateAndSwitchToNewVersionCommand } from "../commands/createVersionCommand";
|
|
7
7
|
import { getDeleteVersionCommand } from "../commands/deleteVersionCommand";
|
|
@@ -12,6 +12,7 @@ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/po
|
|
|
12
12
|
import { Badge } from "../../components/ui/badge";
|
|
13
13
|
import { VersionPreviewCard } from "./VersionPreviewCard";
|
|
14
14
|
import { parseSitecoreDate } from "../utils/sitecoreDate";
|
|
15
|
+
import { publishRestrictionsCommand } from "../commands/itemCommands";
|
|
15
16
|
// Temporarily disabled; keep the preview wiring in place so it can be re-enabled later.
|
|
16
17
|
const ENABLE_VERSION_SELECTOR_PREVIEWS = false;
|
|
17
18
|
function formatRestrictionDate(rawValue) {
|
|
@@ -53,7 +54,7 @@ function VersionStatusTags({ version, isMobile, }) {
|
|
|
53
54
|
: "Published", "data-testid": "version-selector-published-tag", children: [_jsx("span", { className: "bg-feedback-green h-1.5 w-1.5 rounded-full" }), isMobile ? "Pub" : "Published"] })), restrictions?.hideVersion && (_jsx(Badge, { variant: "destructive", size: "sm", className: "text-2xs", title: "This version is hidden from publishing.", "data-testid": "version-selector-restriction-tag", children: "Hidden" })), validFrom && (_jsxs(Badge, { variant: "outline", size: "sm", className: "text-2xs", title: `Valid from ${validFrom}`, "data-testid": "version-selector-restriction-tag", children: ["From ", validFrom] })), validTo && (_jsxs(Badge, { variant: "outline", size: "sm", className: "text-2xs", title: `Valid to ${validTo}`, "data-testid": "version-selector-restriction-tag", children: ["To ", validTo] })), version.workflowState && (_jsx(Badge, { variant: version.isFinalState ? "default" : "outline", size: "sm", className: cn("text-2xs max-w-32", version.isFinalState &&
|
|
54
55
|
"bg-feedback-green hover:bg-feedback-green border-transparent text-white"), title: `Workflow state: ${version.workflowState}`, "data-testid": "version-selector-workflow-tag", children: _jsx("span", { className: "truncate", children: version.workflowState }) }))] }));
|
|
55
56
|
}
|
|
56
|
-
export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelected, readOnly, versions, isLoading, showVersionPreviews = true, previewDateActive = false, }) {
|
|
57
|
+
export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelected, readOnly, versions, isLoading, showVersionPreviews = true, previewDateActive = false, publishRestrictionsItem, }) {
|
|
57
58
|
const [open, setOpen] = React.useState(false);
|
|
58
59
|
const editContext = useEditContext();
|
|
59
60
|
if (itemDescriptor == null)
|
|
@@ -67,6 +68,9 @@ export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelect
|
|
|
67
68
|
const selectedVersion = previewDateActive
|
|
68
69
|
? actualVersion
|
|
69
70
|
: itemDescriptor.version;
|
|
71
|
+
const canOpenPublishRestrictions = !!publishRestrictionsItem &&
|
|
72
|
+
publishRestrictionsItem.canWriteItem &&
|
|
73
|
+
publishRestrictionsItem.canWriteLanguage;
|
|
70
74
|
const getVersionLabel = () => {
|
|
71
75
|
if (editContext?.isMobile) {
|
|
72
76
|
if (versions.length === 0)
|
|
@@ -95,18 +99,25 @@ export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelect
|
|
|
95
99
|
const handleCreateVersion = async () => {
|
|
96
100
|
await editContext?.executeCommand({
|
|
97
101
|
command: getCreateAndSwitchToNewVersionCommand({}),
|
|
98
|
-
event: new Event("click"),
|
|
99
102
|
});
|
|
100
103
|
setOpen(false);
|
|
101
104
|
};
|
|
102
105
|
const handleDeleteVersion = async () => {
|
|
103
106
|
await editContext?.executeCommand({
|
|
104
107
|
command: getDeleteVersionCommand({}),
|
|
105
|
-
event: new Event("click"),
|
|
106
108
|
});
|
|
107
109
|
setOpen(false);
|
|
108
110
|
onVersionSelected(0);
|
|
109
111
|
};
|
|
112
|
+
const handlePublishRestrictions = async () => {
|
|
113
|
+
if (!publishRestrictionsItem)
|
|
114
|
+
return;
|
|
115
|
+
setOpen(false);
|
|
116
|
+
await editContext?.executeCommand({
|
|
117
|
+
command: publishRestrictionsCommand,
|
|
118
|
+
data: { items: [publishRestrictionsItem] },
|
|
119
|
+
});
|
|
120
|
+
};
|
|
110
121
|
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "select", role: "combobox", "aria-expanded": open, "data-testid": "version-selector", "data-version": selectedVersion || actualVersion, children: [_jsxs("div", { className: "flex items-center gap-2", children: [showSpinner && (_jsx(Loader2, { className: "h-4 w-4 animate-spin", "data-testid": "version-selector-spinner", strokeWidth: 1 })), getVersionLabel(), previewDateActive && !editContext?.isMobile && (_jsx("span", { className: "text-2xs text-muted-foreground", children: "at preview date" }))] }), _jsx(ChevronsUpDown, { className: "hidden h-4 w-4 shrink-0 opacity-50 md:block", strokeWidth: 1 })] }) }), _jsx(PopoverContent, { className: cn(showPreviews ? "w-md" : "w-64", "p-0"), align: "start", onInteractOutside: (event) => {
|
|
111
122
|
// The User Manual "Show me" feature drives this popover via its reveal
|
|
112
123
|
// state machine (it explicitly closes, then reopens for the next
|
|
@@ -134,16 +145,21 @@ export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelect
|
|
|
134
145
|
// Force hover styles to override selected state
|
|
135
146
|
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!"), children: [_jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [showPreviews && (_jsx(VersionPreviewCard, { itemDescriptor: itemDescriptor, version: x.version })), _jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [_jsxs("span", { className: "min-w-0 shrink-0", children: ["Version ", x.version] }), _jsx(VersionStatusTags, { version: x, isMobile: !!editContext?.isMobile })] })] }), _jsx(Check, { className: cn("h-4 w-4", selectedVersion === x.version
|
|
136
147
|
? "opacity-100"
|
|
137
|
-
: "opacity-0"), strokeWidth: 1 })] }, x.version)))] })] }), !readOnly && (_jsxs(_Fragment, { children: [_jsx("div", { className: "border-border-default border-t" }), _jsxs("div", { className: "p-1", children: [_jsxs(CommandItem, { onSelect:
|
|
138
|
-
// Remove background when selected (auto-focused) but not hovered
|
|
139
|
-
"data-[selected=true]:bg-transparent",
|
|
140
|
-
// Force hover styles to override selected state
|
|
141
|
-
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!"), "data-testid": "version-selector-add-version", children: [_jsx(Plus, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Add Version" })] }), _jsxs(CommandItem, { onSelect: handleDeleteVersion, disabled: versions.length === 0, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
148
|
+
: "opacity-0"), strokeWidth: 1 })] }, x.version)))] })] }), (!readOnly || publishRestrictionsItem) && (_jsxs(_Fragment, { children: [_jsx("div", { className: "border-border-default border-t" }), _jsxs("div", { className: "p-1", children: [publishRestrictionsItem && (_jsxs(CommandItem, { onSelect: handlePublishRestrictions, disabled: !canOpenPublishRestrictions, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
142
149
|
// Remove background when selected (auto-focused) but not hovered
|
|
143
150
|
"data-[selected=true]:bg-transparent",
|
|
144
151
|
// Force hover styles to override selected state
|
|
145
|
-
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!",
|
|
146
|
-
|
|
147
|
-
|
|
152
|
+
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!", !canOpenPublishRestrictions &&
|
|
153
|
+
"cursor-not-allowed opacity-50"), "data-testid": "publish-restrictions-button", children: [_jsx(Clock3, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Publish restrictions" })] })), publishRestrictionsItem && !readOnly && (_jsx("div", { className: "border-border-default my-1 border-t" })), !readOnly && (_jsxs(_Fragment, { children: [_jsxs(CommandItem, { onSelect: handleCreateVersion, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
154
|
+
// Remove background when selected (auto-focused) but not hovered
|
|
155
|
+
"data-[selected=true]:bg-transparent",
|
|
156
|
+
// Force hover styles to override selected state
|
|
157
|
+
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!"), "data-testid": "version-selector-add-version", children: [_jsx(Plus, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Add Version" })] }), _jsxs(CommandItem, { onSelect: handleDeleteVersion, disabled: versions.length === 0, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
158
|
+
// Remove background when selected (auto-focused) but not hovered
|
|
159
|
+
"data-[selected=true]:bg-transparent",
|
|
160
|
+
// Force hover styles to override selected state
|
|
161
|
+
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!", versions.length === 0
|
|
162
|
+
? "cursor-not-allowed opacity-50"
|
|
163
|
+
: "text-feedback-red hover:text-feedback-red"), "data-testid": "version-selector-delete-version", children: [_jsx(X, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Delete Version" })] })] }))] })] }))] }) })] }));
|
|
148
164
|
}
|
|
149
165
|
//# sourceMappingURL=VersionSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionSelector.js","sourceRoot":"","sources":["../../../src/editor/menubar/VersionSelector.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"VersionSelector.js","sourceRoot":"","sources":["../../../src/editor/menubar/VersionSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { useEditContext } from "../client/editContext";
|
|
|
8
8
|
import { Spinner } from "../ui/Spinner";
|
|
9
9
|
export function WorkflowButton() {
|
|
10
10
|
const editContext = useEditContext();
|
|
11
|
+
const indicatorClassName = "shrink-0";
|
|
11
12
|
if (!editContext?.currentItemDescriptor)
|
|
12
13
|
return null;
|
|
13
14
|
if (editContext?.user?.isLimitedPreviewUser)
|
|
@@ -17,7 +18,7 @@ export function WorkflowButton() {
|
|
|
17
18
|
item.item.language === editContext.item?.language &&
|
|
18
19
|
item.item.version === editContext.item?.version);
|
|
19
20
|
if (editContext.isWorkboxLoading) {
|
|
20
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsx(Spinner, { size: "sm" }) }));
|
|
21
|
+
return (_jsx("div", { className: indicatorClassName, "data-testid": "publish-status-indicator", children: _jsx(Spinner, { size: "sm" }) }));
|
|
21
22
|
}
|
|
22
23
|
const workflowCommands = currentWorkboxItem?.workflowCommands || [];
|
|
23
24
|
// Create tooltip content with publish status information
|
|
@@ -64,7 +65,7 @@ export function WorkflowButton() {
|
|
|
64
65
|
// If no workflow commands, show simple publish button
|
|
65
66
|
if (workflowCommands.length === 0) {
|
|
66
67
|
if (isMobile) {
|
|
67
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { size: "iconXs", className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
68
|
+
return (_jsx("div", { className: indicatorClassName, "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { size: "iconXs", className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
68
69
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxNoCommandsButton", onClick: () => {
|
|
69
70
|
editContext.openSidebar("workbox");
|
|
70
71
|
const publishView = editContext?.configuration.editor.views?.find((x) => x.name === "publish");
|
|
@@ -72,7 +73,7 @@ export function WorkflowButton() {
|
|
|
72
73
|
editContext?.switchWorkspace(publishView.name);
|
|
73
74
|
}, children: _jsx(InboxIcon, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }) }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }) }));
|
|
74
75
|
}
|
|
75
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
76
|
+
return (_jsx("div", { className: indicatorClassName, "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
76
77
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxNoCommandsButton", onClick: () => {
|
|
77
78
|
editContext.openSidebar("workbox");
|
|
78
79
|
const publishView = editContext?.configuration.editor.views?.find((x) => x.name === "publish");
|
|
@@ -86,12 +87,12 @@ export function WorkflowButton() {
|
|
|
86
87
|
if (!command)
|
|
87
88
|
return null;
|
|
88
89
|
if (isMobile) {
|
|
89
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { size: "iconXs", className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
90
|
+
return (_jsx("div", { className: indicatorClassName, "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { size: "iconXs", className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
90
91
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxSingleCommandButton", onClick: () => {
|
|
91
92
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
92
93
|
}, children: _jsx(InboxIcon, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }) }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }) }));
|
|
93
94
|
}
|
|
94
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
95
|
+
return (_jsx("div", { className: indicatorClassName, "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
95
96
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxSingleCommandButton", onClick: () => {
|
|
96
97
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
97
98
|
}, children: command.name }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }) }));
|
|
@@ -104,15 +105,15 @@ export function WorkflowButton() {
|
|
|
104
105
|
? "group-hover:!bg-feedback-green"
|
|
105
106
|
: "group-hover:!bg-highlight-100/80";
|
|
106
107
|
if (isMobile) {
|
|
107
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsxs(DropdownMenu, { children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { size: "iconXs", className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
108
|
+
return (_jsx("div", { className: indicatorClassName, "data-testid": "publish-status-indicator", children: _jsxs(DropdownMenu, { children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { size: "iconXs", className: cn("flex", currentWorkboxItem?.isFinalState &&
|
|
108
109
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxMultipleCommandsDropdownTrigger", children: _jsx(InboxIcon, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }) }) }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }), _jsx(DropdownMenuContent, { children: workflowCommands.map((command) => (_jsx(DropdownMenuItem, { onClick: () => {
|
|
109
110
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
110
111
|
}, children: command.name }, command.id))) })] }) }));
|
|
111
112
|
}
|
|
112
|
-
return (_jsxs("div", { className: "group flex", "data-testid": "publish-status-indicator", children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: cn("inline-flex rounded-r-none
|
|
113
|
+
return (_jsxs("div", { className: cn("group flex", indicatorClassName), "data-testid": "publish-status-indicator", children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: cn("inline-flex rounded-r-none !pr-2 shadow-none", splitButtonGroupHoverClass, currentWorkboxItem?.isFinalState &&
|
|
113
114
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxMultipleCommandsButton", onClick: () => {
|
|
114
115
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, firstCommand.id);
|
|
115
|
-
}, children: firstCommand.name }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { className: cn("inline-flex rounded-l-none shadow-none has-[>svg]:!
|
|
116
|
+
}, children: firstCommand.name }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { className: cn("inline-flex rounded-l-none shadow-none has-[>svg]:!pr-3 has-[>svg]:!pl-2", splitButtonGroupHoverClass, currentWorkboxItem?.isFinalState &&
|
|
116
117
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxMultipleCommandsDropdownTrigger", children: _jsx("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }), _jsx(DropdownMenuContent, { children: workflowCommands.map((command) => (_jsx(DropdownMenuItem, { onClick: () => {
|
|
117
118
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
118
119
|
}, children: command.name }, command.id))) })] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowButton.js","sourceRoot":"","sources":["../../../src/editor/menubar/WorkflowButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowButton.js","sourceRoot":"","sources":["../../../src/editor/menubar/WorkflowButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -65,9 +65,9 @@ async function waitForVisibleElements(selector, timeoutMs = 1000) {
|
|
|
65
65
|
}
|
|
66
66
|
const manualMarkdownComponents = {
|
|
67
67
|
h1: ({ children }) => (_jsx("h1", { className: "text-neutral-grey-100 mt-4 mb-0 text-xl font-bold", children: children })),
|
|
68
|
-
h2: ({ children }) => (_jsx("h2", { className: "text-neutral-grey-100 mt-3 mb-0 text-lg font-
|
|
69
|
-
h3: ({ children }) => (_jsx("h3", { className: "text-neutral-grey-100 mt-2 mb-0 text-base font-
|
|
70
|
-
h4: ({ children }) => (_jsx("h4", { className: "text-neutral-grey-100 mt-2 mb-0 text-sm font-
|
|
68
|
+
h2: ({ children }) => (_jsx("h2", { className: "text-neutral-grey-100 mt-3 mb-0 text-lg font-medium", children: children })),
|
|
69
|
+
h3: ({ children }) => (_jsx("h3", { className: "text-neutral-grey-100 mt-2 mb-0 text-base font-medium", children: children })),
|
|
70
|
+
h4: ({ children }) => (_jsx("h4", { className: "text-neutral-grey-100 mt-2 mb-0 text-sm font-medium", children: children })),
|
|
71
71
|
};
|
|
72
72
|
// Parse the uiSelectors field
|
|
73
73
|
// Formats:
|
|
@@ -1228,7 +1228,7 @@ function TocSectionCard({ section, onSelect, onToggleCollapse, isCollapsed, }) {
|
|
|
1228
1228
|
const theme = getSectionTheme(section.title);
|
|
1229
1229
|
const Icon = theme.icon;
|
|
1230
1230
|
const hasChildren = !!(section.children && section.children.length > 0);
|
|
1231
|
-
return (_jsxs("div", { className: "group", children: [_jsx("button", { type: "button", onClick: () => onSelect(section.id), className: cn("w-full rounded-lg p-3 text-left transition-all", "hover:bg-neutral-grey-5/50 bg-white"), children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx("div", { className: cn("flex h-9 w-9 shrink-0 items-center justify-center rounded-lg", theme.bg), children: section.svgIcon ? (_jsx(SvgIcon, { svg: section.svgIcon, size: 24, className: theme.color })) : (_jsx(Icon, { className: cn("h-[18px] w-[18px]", theme.color), strokeWidth: 1.75 })) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "flex items-center gap-2", children: _jsx("span", { className: "text-neutral-grey-100 text-sm font-
|
|
1231
|
+
return (_jsxs("div", { className: "group", children: [_jsx("button", { type: "button", onClick: () => onSelect(section.id), className: cn("w-full rounded-lg p-3 text-left transition-all", "hover:bg-neutral-grey-5/50 bg-white"), children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx("div", { className: cn("flex h-9 w-9 shrink-0 items-center justify-center rounded-lg", theme.bg), children: section.svgIcon ? (_jsx(SvgIcon, { svg: section.svgIcon, size: 24, className: theme.color })) : (_jsx(Icon, { className: cn("h-[18px] w-[18px]", theme.color), strokeWidth: 1.75 })) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "flex items-center gap-2", children: _jsx("span", { className: "text-neutral-grey-100 text-sm font-medium", children: section.title || "Untitled" }) }), section.summary && (_jsx("p", { className: "text-neutral-grey-50 mt-0.5 line-clamp-2 text-xs leading-relaxed", children: section.summary }))] })] }) }), hasChildren && (_jsxs("div", { className: "mt-1", children: [_jsxs("button", { type: "button", onClick: () => onToggleCollapse(section.id), className: "text-neutral-grey-50 hover:text-neutral-grey-50 ml-[60px] flex w-fit items-center gap-1.5 rounded-md py-1 text-xs transition-colors", children: [_jsx(ChevronRight, { className: cn("h-3 w-3 shrink-0 transition-transform", !isCollapsed && "rotate-90") }), _jsx("span", { children: isCollapsed ? "Show articles" : "Hide articles" })] }), !isCollapsed && (_jsx("div", { className: "border-border-default mt-0.5 ml-[60px] space-y-px border-l-2 pl-3", children: section.children.map((child) => (_jsxs("button", { type: "button", onClick: () => onSelect(child.id), className: "text-neutral-grey-50 hover:bg-neutral-grey-5 hover:text-neutral-grey-100 flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors", children: [_jsx("span", { className: cn("h-1.5 w-1.5 shrink-0 rounded-full", theme.accent, "opacity-40 transition-opacity group-hover:opacity-70") }), _jsx("span", { className: "truncate", children: child.title || "Untitled" })] }, child.id))) }))] }))] }));
|
|
1232
1232
|
}
|
|
1233
1233
|
function renderTocTree(sections, onSelect, onToggleCollapse, collapsedSectionIds, depth = 0) {
|
|
1234
1234
|
if (depth === 0) {
|
|
@@ -1272,12 +1272,12 @@ function InChapterDropdown({ toc, currentTocPath, selectedSectionId, onSelect, }
|
|
|
1272
1272
|
if (!chapter || chapterOptions.length <= 1)
|
|
1273
1273
|
return null;
|
|
1274
1274
|
const selectedTitle = chapterOptions.find((o) => o.section.id === selectedSectionId)?.section.title;
|
|
1275
|
-
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "border-border-default hover:bg-neutral-grey-5 inline-flex w-full items-center justify-between gap-2 rounded-md border bg-white px-2 py-1.5 text-xs transition-colors", children: [_jsxs("span", { className: "text-neutral-grey-50 truncate", children: [_jsx("span", { className: "text-neutral-grey-100 font-medium", children: selectedTitle ?? chapter.title }), " ", _jsxs("span", { className: "text-neutral-grey-50", children: ["\u2014 in ", chapter.title] })] }), _jsx(ChevronDown, { className: "text-neutral-grey-50 h-3.5 w-3.5 shrink-0" })] }) }), _jsxs(DropdownMenuContent, { align: "start", className: "max-h-80 w-[--radix-dropdown-menu-trigger-width] overflow-y-auto", children: [allChapters.length > 0 && (_jsxs(_Fragment, { children: [_jsx(DropdownMenuLabel, { className: "text-neutral-grey-50 text-[11px] font-
|
|
1275
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "border-border-default hover:bg-neutral-grey-5 inline-flex w-full items-center justify-between gap-2 rounded-md border bg-white px-2 py-1.5 text-xs transition-colors", children: [_jsxs("span", { className: "text-neutral-grey-50 truncate", children: [_jsx("span", { className: "text-neutral-grey-100 font-medium", children: selectedTitle ?? chapter.title }), " ", _jsxs("span", { className: "text-neutral-grey-50", children: ["\u2014 in ", chapter.title] })] }), _jsx(ChevronDown, { className: "text-neutral-grey-50 h-3.5 w-3.5 shrink-0" })] }) }), _jsxs(DropdownMenuContent, { align: "start", className: "max-h-80 w-[--radix-dropdown-menu-trigger-width] overflow-y-auto", children: [allChapters.length > 0 && (_jsxs(_Fragment, { children: [_jsx(DropdownMenuLabel, { className: "text-neutral-grey-50 text-[11px] font-medium tracking-wide", children: "Chapters" }), allChapters.map((c) => {
|
|
1276
1276
|
const isCurrent = c.id === chapter?.id;
|
|
1277
1277
|
const theme = getSectionTheme(c.title);
|
|
1278
1278
|
const Icon = theme.icon;
|
|
1279
1279
|
return (_jsxs(DropdownMenuItem, { onClick: () => !isCurrent && onSelect(c.id), className: cn(isCurrent && "bg-feedback-blue-light font-medium"), children: [c.svgIcon ? (_jsx(SvgIcon, { svg: c.svgIcon, size: 14, className: cn("mr-1.5 shrink-0", theme.color) })) : (_jsx(Icon, { className: cn("mr-1.5 h-3.5 w-3.5 shrink-0", theme.color), strokeWidth: 1.75 })), _jsx("span", { className: "truncate", children: c.title })] }, c.id));
|
|
1280
|
-
}), _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuLabel, { className: "text-neutral-grey-50 text-[11px] font-
|
|
1280
|
+
}), _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuLabel, { className: "text-neutral-grey-50 text-[11px] font-medium tracking-wide", children: ["In ", chapter.title] })] })), chapterOptions.map(({ section, depth }) => {
|
|
1281
1281
|
const isActive = section.id === selectedSectionId;
|
|
1282
1282
|
const navigable = isDirectlyNavigableSection(section);
|
|
1283
1283
|
return (_jsx(DropdownMenuItem, { disabled: !navigable, onClick: () => navigable && onSelect(section.id), className: cn(isActive && "bg-feedback-blue-light font-medium", !navigable && "pointer-events-none opacity-60"), style: { paddingLeft: `${8 + depth * 16}px` }, children: _jsx("span", { className: "truncate", children: section.title || "Untitled" }) }, section.id));
|
|
@@ -1628,7 +1628,7 @@ export function ManualBrowser({ onClose }) {
|
|
|
1628
1628
|
if (toc.length === 0) {
|
|
1629
1629
|
return (_jsxs("div", { className: "text-neutral-grey-50 px-4 py-8 text-center text-sm", children: [_jsx(Book, { className: "text-neutral-grey-50 mx-auto mb-2 h-8 w-8" }), _jsx("p", { children: "No manual content available yet." })] }));
|
|
1630
1630
|
}
|
|
1631
|
-
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "border-border-default/60 from-neutral-grey-5 shrink-0 border-b bg-linear-to-b to-white px-4 py-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx("div", { className: "flex min-w-0 items-center gap-3", children: _jsxs("div", { className: "flex min-w-0 flex-col items-start leading-tight", children: [_jsx("h2", { className: "text-neutral-grey-100 truncate text-sm leading-tight font-
|
|
1631
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "border-border-default/60 from-neutral-grey-5 shrink-0 border-b bg-linear-to-b to-white px-4 py-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx("div", { className: "flex min-w-0 items-center gap-3", children: _jsxs("div", { className: "flex min-w-0 flex-col items-start leading-tight", children: [_jsx("h2", { className: "text-neutral-grey-100 truncate text-sm leading-tight font-medium", children: "User Manual" }), _jsx("p", { className: "text-neutral-grey-50 truncate text-[11px] leading-tight", children: "Browse help articles, tutorials, and guides" })] }) }), onClose && _jsx(CloseButton, { onClick: onClose, label: "Close" })] }), _jsx("div", { className: "mt-3", children: _jsx(FilterInput, { value: searchQuery, onChange: setSearchQuery, placeholder: "Search manual pages...", size: "xs", loading: searching }) }), selectedSectionId && (_jsx("div", { className: "mt-2", children: _jsx(InChapterDropdown, { toc: toc, currentTocPath: currentTocPath, selectedSectionId: selectedSectionId, onSelect: handleSelectSection }) })), searchQuery.trim().length > 0 && (_jsx("div", { className: "border-border-default mt-2 max-h-52 overflow-y-auto rounded-lg border bg-white shadow-sm", children: searching ? (_jsxs("div", { className: "text-neutral-grey-50 flex items-center gap-2 px-3 py-3 text-xs", children: [_jsx(Loader2, { className: "h-3 w-3 animate-spin" }), "Searching manual..."] })) : searchResults.length > 0 ? (searchResults.map((section) => (_jsxs("button", { type: "button", onClick: () => handleSelectSearchResult(section.id), className: "group border-border-default hover:bg-feedback-blue-light/50 block w-full border-b px-3 py-2.5 text-left transition-colors last:border-b-0", children: [_jsx("span", { className: "text-neutral-grey-100 group-hover:text-feedback-blue block text-sm font-medium transition-colors", children: section.title || "Untitled" }), section.summary && (_jsx("span", { className: "text-neutral-grey-50 mt-0.5 line-clamp-2 block text-xs leading-relaxed", children: section.summary }))] }, section.id)))) : (_jsx("div", { className: "text-neutral-grey-50 px-3 py-3 text-center text-xs", children: "No manual pages matched your search." })) }))] }), _jsx("div", { className: "flex-1 overflow-y-auto p-4 select-text", children: loadingSection ? (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsx(Loader2, { className: "text-neutral-grey-50 h-5 w-5 animate-spin" }) })) : !selectedSectionId ? (_jsx("div", { children: renderTocTree(toc, handleSelectSection, handleToggleTocSection, collapsedTocSectionIds) })) : currentSection ? (_jsxs("div", { children: [_jsxs("div", { className: "mb-1 flex items-center justify-between", children: [_jsxs("button", { type: "button", onClick: handleGoBack, className: "badge-pad text-neutral-grey-50 hover:bg-neutral-grey-5 hover:text-neutral-grey-100 inline-flex shrink-0 items-center gap-1 rounded text-sm transition-colors", "aria-label": backButtonLabel, title: backButtonLabel, children: [_jsx(ArrowLeft, { className: "h-4 w-4" }), _jsx("span", { className: "hidden sm:inline", children: backButtonText })] }), editContext?.user?.isAdministrator && editContext?.loadItem && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", onClick: async (e) => {
|
|
1632
1632
|
e.preventDefault();
|
|
1633
1633
|
e.stopPropagation();
|
|
1634
1634
|
if (!editContext?.loadItem) {
|