@parhelia/core 0.1.12895 → 0.1.12901
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 +1 -1
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentProfileIcon.d.ts +1 -1
- package/dist/agents-view/AgentProfileIcon.js +4 -0
- package/dist/agents-view/AgentProfileIcon.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +10 -24
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.js +2 -3
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/components/MarkdownDisplay.js +1 -1
- package/dist/components/MarkdownDisplay.js.map +1 -1
- package/dist/components/SearchInput.d.ts +1 -0
- package/dist/components/SearchInput.js +2 -2
- package/dist/components/SearchInput.js.map +1 -1
- package/dist/components/ui/LanguageSelectionGrid.js +2 -1
- package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
- package/dist/components/ui/LanguageSelector.d.ts +2 -1
- package/dist/components/ui/LanguageSelector.js +3 -3
- package/dist/components/ui/LanguageSelector.js.map +1 -1
- package/dist/components/ui/badge.d.ts +5 -1
- package/dist/components/ui/badge.js +8 -3
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/button.js +4 -5
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/command.js +1 -1
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/context-menu.d.ts +13 -0
- package/dist/components/ui/context-menu.js +61 -57
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +4 -4
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js +2 -2
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/config/config.js +40 -15
- package/dist/config/config.js.map +1 -1
- package/dist/config/notificationRoutes.js +2 -2
- package/dist/config/notificationRoutes.js.map +1 -1
- package/dist/editor/ContentTree.js +13 -5
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/ContextMenu.js +4 -6
- package/dist/editor/ContextMenu.js.map +1 -1
- package/dist/editor/FieldListField.js +14 -7
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +1 -2
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/ImageEditor.js +1 -1
- package/dist/editor/ImageEditor.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +13 -0
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +66 -9
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/Titlebar.js +1 -1
- package/dist/editor/Titlebar.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.js +12 -31
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
- package/dist/editor/ai/AgentProfileSelector.js +2 -2
- package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
- package/dist/editor/ai/AgentStatusBadge.js +3 -11
- package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
- package/dist/editor/ai/Agents.js +46 -41
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +24 -26
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/InlineAiTrigger.js +30 -1
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/agentActivitySummary.d.ts +108 -0
- package/dist/editor/ai/agentActivitySummary.js +390 -0
- package/dist/editor/ai/agentActivitySummary.js.map +1 -0
- package/dist/editor/ai/terminal/agentContextMerge.d.ts +19 -0
- package/dist/editor/ai/terminal/agentContextMerge.js +88 -0
- package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.d.ts +21 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +133 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +145 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +1 -1
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +13 -13
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +1 -1
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentModeSelector.js +86 -9
- package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +1 -1
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +2 -2
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -2
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +4 -27
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +2 -2
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +15 -12
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +1 -3
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +10 -10
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +17 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +59 -5
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +5 -4
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +84 -28
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +2 -4
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +93 -223
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +7 -45
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +0 -4
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +1 -7
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentQuickActions.js +61 -3
- package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +0 -2
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +3 -3
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +0 -3
- package/dist/editor/ai/terminal/useAgentSkillActions.js +8 -26
- package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +1 -5
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +6 -19
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +1 -3
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +18 -22
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -2
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +0 -6
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js +2 -16
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -1
- package/dist/editor/ai/useActiveAgentConversation.d.ts +2 -0
- package/dist/editor/ai/useActiveAgentConversation.js +20 -0
- package/dist/editor/ai/useActiveAgentConversation.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +48 -0
- package/dist/editor/bridge/protocol.js +13 -1
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.d.ts +2 -0
- package/dist/editor/client/EditorShell.js +129 -29
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +30 -4
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useReducedMotion.d.ts +8 -0
- package/dist/editor/client/hooks/useReducedMotion.js +12 -0
- package/dist/editor/client/hooks/useReducedMotion.js.map +1 -0
- package/dist/editor/client/manualShowMeFocus.d.ts +17 -0
- package/dist/editor/client/manualShowMeFocus.js +32 -0
- package/dist/editor/client/manualShowMeFocus.js.map +1 -0
- package/dist/editor/client/ui/FullscreenControls.js +5 -5
- package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
- package/dist/editor/commands/componentCommands.js +30 -1
- package/dist/editor/commands/componentCommands.js.map +1 -1
- package/dist/editor/commands/keyboardCommands.d.ts +6 -0
- package/dist/editor/commands/keyboardCommands.js +74 -0
- package/dist/editor/commands/keyboardCommands.js.map +1 -1
- package/dist/editor/commands/reorderComponent.d.ts +20 -0
- package/dist/editor/commands/reorderComponent.js +40 -0
- package/dist/editor/commands/reorderComponent.js.map +1 -0
- package/dist/editor/commands/undo.js +3 -3
- package/dist/editor/commands/undo.js.map +1 -1
- package/dist/editor/componentFrameColors.d.ts +11 -0
- package/dist/editor/componentFrameColors.js +47 -0
- package/dist/editor/componentFrameColors.js.map +1 -0
- package/dist/editor/field-types/RichTextEditor.js +25 -6
- package/dist/editor/field-types/RichTextEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +14 -1
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +4 -1
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +33 -5
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
- package/dist/editor/insertMenuItems.d.ts +11 -0
- package/dist/editor/insertMenuItems.js +9 -0
- package/dist/editor/insertMenuItems.js.map +1 -1
- package/dist/editor/menubar/ActiveUsers.js +3 -3
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/FavoritesControls.js +46 -27
- package/dist/editor/menubar/FavoritesControls.js.map +1 -1
- package/dist/editor/menubar/GenericToolbar.js +2 -1
- package/dist/editor/menubar/GenericToolbar.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +7 -5
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/PageSelector.js +1 -1
- package/dist/editor/menubar/PageSelector.js.map +1 -1
- package/dist/editor/menubar/PreviewDatePicker.js +40 -21
- package/dist/editor/menubar/PreviewDatePicker.js.map +1 -1
- package/dist/editor/menubar/Separator.d.ts +2 -1
- package/dist/editor/menubar/Separator.js +2 -2
- package/dist/editor/menubar/Separator.js.map +1 -1
- package/dist/editor/menubar/ToolbarFactory.js +24 -17
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.d.ts +2 -1
- package/dist/editor/menubar/VersionSelector.js +3 -3
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +17 -25
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js +13 -0
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +1 -1
- package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +104 -9
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +4 -2
- package/dist/editor/menubar/toolbar-sections/EditControls.js +78 -11
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +15 -0
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/InsertControls.js +1 -1
- package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +12 -0
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +169 -26
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -1
- package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +3 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js +11 -3
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +48 -29
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/index.d.ts +2 -1
- package/dist/editor/menubar/toolbar-sections/index.js +2 -1
- package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.d.ts +4 -1
- package/dist/editor/notifications/NotificationCenter.js +13 -4
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/WatchButton.d.ts +4 -2
- package/dist/editor/notifications/WatchButton.js +78 -20
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +71 -6
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/CommentHighlightings.js +36 -40
- package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.d.ts +36 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +879 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +1 -0
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +3 -3
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.d.ts +3 -2
- package/dist/editor/page-editor-chrome/FrameMenu.js +49 -119
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.js +65 -15
- package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +25 -0
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +30 -0
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -0
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +14 -2
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +33 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +94 -71
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +13 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +105 -203
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +51 -88
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +2 -1
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
- package/dist/editor/page-editor-chrome/componentDragObject.d.ts +10 -0
- package/dist/editor/page-editor-chrome/componentDragObject.js +22 -0
- package/dist/editor/page-editor-chrome/componentDragObject.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +32 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +8 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.d.ts +44 -0
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.js +160 -0
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +39 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.js +67 -10
- package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +66 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +274 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.d.ts +23 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.js +41 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.d.ts +23 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +207 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +2 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +18 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -0
- package/dist/editor/page-viewer/EditorForm.js +14 -12
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +2 -2
- package/dist/editor/page-viewer/EditorFormHintPopover.js +4 -4
- package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +6 -0
- package/dist/editor/page-viewer/MiniMap.js +97 -12
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/MinimapDropTargets.d.ts +13 -0
- package/dist/editor/page-viewer/MinimapDropTargets.js +140 -0
- package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -0
- package/dist/editor/page-viewer/PageViewer.js +96 -10
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +263 -6
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/pageViewContext.d.ts +4 -1
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/reviews/Comment.js +2 -0
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +5 -2
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentPopover.d.ts +4 -0
- package/dist/editor/reviews/CommentPopover.js +15 -1
- package/dist/editor/reviews/CommentPopover.js.map +1 -1
- package/dist/editor/reviews/Comments.js +61 -44
- package/dist/editor/reviews/Comments.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/FeedbackModeIntro.d.ts +15 -0
- package/dist/editor/reviews/FeedbackModeIntro.js +22 -0
- package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -0
- package/dist/editor/reviews/LatestFeedback.js +8 -2
- package/dist/editor/reviews/LatestFeedback.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +2 -1
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +9 -7
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -3
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/feedbackScrollTarget.d.ts +19 -0
- package/dist/editor/reviews/feedbackScrollTarget.js +171 -0
- package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -0
- package/dist/editor/reviews/feedbackSelection.js +4 -4
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/latestFeedbackData.js +1 -1
- package/dist/editor/reviews/openCommentsFeedback.d.ts +35 -0
- package/dist/editor/reviews/openCommentsFeedback.js +89 -0
- package/dist/editor/reviews/openCommentsFeedback.js.map +1 -0
- package/dist/editor/services/agentService.d.ts +5 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +0 -2
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +1 -0
- package/dist/editor/services/editService.js +4 -0
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/settings/IndexOverview.js +2 -2
- package/dist/editor/settings/IndexOverview.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +2 -2
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/SettingsBreadcrumb.js +8 -2
- package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
- package/dist/editor/settings/SettingsPanelLayout.js +1 -1
- package/dist/editor/settings/SettingsPanelLayout.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +7 -9
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/StatusSummary.js +7 -17
- package/dist/editor/settings/StatusSummary.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +2 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +2 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +3 -2
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/ItemConfigPanel.js +3 -2
- package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +2 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +2 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
- package/dist/editor/settings/panels/PersistentLogsPanel.js +3 -2
- package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +2 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +3 -2
- package/dist/editor/settings/panels/ProjectTemplateSelectorList.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/SearchConfigPanel.js +3 -2
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +3 -2
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.d.ts +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +58 -25
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +91 -7
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/ContentTreePanel.d.ts +3 -0
- package/dist/editor/sidebar/ContentTreePanel.js +14 -0
- package/dist/editor/sidebar/ContentTreePanel.js.map +1 -0
- package/dist/editor/sidebar/Favorites.js +2 -2
- package/dist/editor/sidebar/Favorites.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelItem.js +2 -1
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +98 -17
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +14 -133
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.js +1 -1
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRail.js +12 -9
- package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
- package/dist/editor/sidebar/contentTreeConstants.d.ts +2 -0
- package/dist/editor/sidebar/contentTreeConstants.js +3 -0
- package/dist/editor/sidebar/contentTreeConstants.js.map +1 -0
- package/dist/editor/tree-indicators/GutterColumns.js +4 -14
- package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.js +3 -2
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/LoadingState.d.ts +11 -0
- package/dist/editor/ui/LoadingState.js +27 -0
- package/dist/editor/ui/LoadingState.js.map +1 -0
- package/dist/editor/ui/PerfectTree.d.ts +22 -1
- package/dist/editor/ui/PerfectTree.js +17 -11
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/ui/PublishDialog.d.ts +11 -0
- package/dist/editor/ui/PublishDialog.js +101 -0
- package/dist/editor/ui/PublishDialog.js.map +1 -0
- package/dist/editor/ui/PublishItemDialog.js +2 -1
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js +3 -2
- package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
- package/dist/editor/ui/SimpleIconButton.d.ts +6 -0
- package/dist/editor/ui/SimpleIconButton.js +13 -4
- package/dist/editor/ui/SimpleIconButton.js.map +1 -1
- package/dist/editor/ui/SimpleMenu.js +4 -4
- package/dist/editor/ui/SimpleMenu.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.js +1 -1
- package/dist/editor/ui/Spinner.d.ts +14 -1
- package/dist/editor/ui/Spinner.js.map +1 -1
- package/dist/editor/ui/WorkboxItemsTable.d.ts +15 -0
- package/dist/editor/ui/WorkboxItemsTable.js +142 -0
- package/dist/editor/ui/WorkboxItemsTable.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/pointerDrag.d.ts +20 -0
- package/dist/lib/pointerDrag.js +57 -0
- package/dist/lib/pointerDrag.js.map +1 -0
- package/dist/logging/consolePrefix.d.ts +2 -0
- package/dist/logging/consolePrefix.js +49 -0
- package/dist/logging/consolePrefix.js.map +1 -0
- package/dist/logging/index.d.ts +1 -0
- package/dist/logging/index.js +2 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/install-browser-console.d.ts +1 -0
- package/dist/logging/install-browser-console.js +3 -0
- package/dist/logging/install-browser-console.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +2 -1
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +181 -35
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.js +20 -9
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/FinishedProjectCard.d.ts +5 -0
- package/dist/task-board/components/FinishedProjectCard.js +8 -0
- package/dist/task-board/components/FinishedProjectCard.js.map +1 -0
- package/dist/task-board/components/ProjectDashboard.d.ts +10 -1
- package/dist/task-board/components/ProjectDashboard.js +90 -6
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.js +2 -1
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +2 -1
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.d.ts +4 -0
- package/dist/task-board/components/TaskAgentPanel.js +12 -6
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneeBadge.d.ts +16 -0
- package/dist/task-board/components/TaskAssigneeBadge.js +21 -0
- package/dist/task-board/components/TaskAssigneeBadge.js.map +1 -0
- package/dist/task-board/components/TaskAssigneePicker.js +12 -10
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskAttachmentDropZone.d.ts +11 -0
- package/dist/task-board/components/TaskAttachmentDropZone.js +100 -0
- package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -0
- package/dist/task-board/components/TaskAttachmentsSection.d.ts +1 -0
- package/dist/task-board/components/TaskAttachmentsSection.js +15 -41
- package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
- package/dist/task-board/components/TaskBoardFilterBox.d.ts +4 -0
- package/dist/task-board/components/TaskBoardFilterBox.js +7 -0
- package/dist/task-board/components/TaskBoardFilterBox.js.map +1 -0
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +4 -5
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskCard.js +26 -15
- package/dist/task-board/components/TaskCard.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
- package/dist/task-board/components/TaskDetailPanel.js +15 -12
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskReviewActions.d.ts +1 -0
- package/dist/task-board/components/TaskReviewActions.js +4 -2
- package/dist/task-board/components/TaskReviewActions.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +6 -12
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -3
- package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCards.js +1 -1
- package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCenter.d.ts +7 -1
- package/dist/task-board/components/WizardCommunicationCenter.js +10 -6
- package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationShared.js +5 -5
- package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
- package/dist/task-board/components/WizardTask.d.ts +5 -1
- package/dist/task-board/components/WizardTask.js +14 -30
- package/dist/task-board/components/WizardTask.js.map +1 -1
- package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +10 -2
- package/dist/task-board/components/WizardTaskDetailsPanel.js +56 -11
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +3 -0
- package/dist/task-board/taskBoardNavStore.js +44 -0
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/taskPriority.d.ts +4 -0
- package/dist/task-board/taskPriority.js +19 -0
- package/dist/task-board/taskPriority.js.map +1 -0
- package/dist/task-board/views/DependencyGraphView.js +48 -36
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +130 -96
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +3 -3
- package/dist/task-board/views/ListView.js.map +1 -1
- package/dist/task-board/views/WizardView.js +7 -6
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/dist/tour/default-tour.js +5 -5
- package/dist/tour/default-tour.js.map +1 -1
- package/package.json +11 -1
- package/styles.css +144 -0
- package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +0 -19
- package/dist/editor/ai/terminal/useAgentEditorContextSync.js +0 -142
- package/dist/editor/ai/terminal/useAgentEditorContextSync.js.map +0 -1
|
@@ -355,6 +355,12 @@ export function deriveSelectorState(params) {
|
|
|
355
355
|
}
|
|
356
356
|
return "disabled";
|
|
357
357
|
}
|
|
358
|
+
export function shouldResetActiveReveal(params) {
|
|
359
|
+
if (!params.hasReveal || !params.isRevealStillOpen) {
|
|
360
|
+
return true;
|
|
361
|
+
}
|
|
362
|
+
return params.hasAvailabilitySelector && !params.isAnchorPresent;
|
|
363
|
+
}
|
|
358
364
|
// Finishers for every highlight overlay currently on screen. Lets a superseding
|
|
359
365
|
// reveal wipe the previous reveal's highlight immediately so it does not keep
|
|
360
366
|
// pulsing over the close/re-open transition (the "uncoordinated animation").
|
|
@@ -443,6 +449,19 @@ function showHighlightOverlay(x, y, width, height, duration) {
|
|
|
443
449
|
window.setTimeout(finish, duration + 500);
|
|
444
450
|
});
|
|
445
451
|
}
|
|
452
|
+
export function hasStatefulRevealSurface(surfaceKeys) {
|
|
453
|
+
return surfaceKeys.some((key) => !key.startsWith("custom:"));
|
|
454
|
+
}
|
|
455
|
+
// Whether a superseding reveal should keep (hand off) the previous reveal's
|
|
456
|
+
// already-open editor-form slider instead of closing and reopening it. The
|
|
457
|
+
// slider is a controlled surface (not dismiss-on-outside), so it can persist
|
|
458
|
+
// across reveals: when the incoming reveal is non-sidebar and the slider is
|
|
459
|
+
// already open, we carry the surface forward to avoid a visible close-reopen
|
|
460
|
+
// flicker. Mirrors the `shouldOpenEditorForm` gate but on the "already open"
|
|
461
|
+
// state (there is only something to carry when it is open).
|
|
462
|
+
export function shouldCarryEditorFormSurface(params) {
|
|
463
|
+
return !params.isSidebarOnly && params.sliderExists && params.isSliderOpen;
|
|
464
|
+
}
|
|
446
465
|
let activeRevealController = null;
|
|
447
466
|
let revealControllerSeq = 0;
|
|
448
467
|
// Serialize Show-me reveal clicks across ALL buttons so overlapping rapid clicks
|
|
@@ -516,6 +535,26 @@ function closeVersionSelectorIfOpen() {
|
|
|
516
535
|
document.querySelector('[data-testid="version-selector"]');
|
|
517
536
|
trigger?.click();
|
|
518
537
|
}
|
|
538
|
+
function isNotificationCenterExpanded() {
|
|
539
|
+
return !!document.querySelector('[data-testid="notification-center-trigger"][aria-expanded="true"]');
|
|
540
|
+
}
|
|
541
|
+
function closeNotificationCenterIfOpen() {
|
|
542
|
+
if (!isElementPresent("@notification-center-list"))
|
|
543
|
+
return;
|
|
544
|
+
const list = document.querySelector('[data-testid="notification-center-list"]');
|
|
545
|
+
if (list) {
|
|
546
|
+
list.dispatchEvent(new KeyboardEvent("keydown", {
|
|
547
|
+
key: "Escape",
|
|
548
|
+
code: "Escape",
|
|
549
|
+
bubbles: true,
|
|
550
|
+
cancelable: true,
|
|
551
|
+
}));
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
554
|
+
const trigger = document.querySelector('[data-testid="notification-center-trigger"][aria-expanded="true"]') ??
|
|
555
|
+
document.querySelector('[data-testid="notification-center-trigger"]');
|
|
556
|
+
trigger?.click();
|
|
557
|
+
}
|
|
519
558
|
// Resolve once the More-panels popover is fully closed: its list is gone AND
|
|
520
559
|
// the trigger no longer reports aria-expanded="true". This lets a superseding
|
|
521
560
|
// More-panels reveal reopen from a truly closed state instead of sampling
|
|
@@ -550,6 +589,14 @@ async function waitForVersionSelectorClosed(timeoutMs = 1000) {
|
|
|
550
589
|
await waitForDelay(50);
|
|
551
590
|
}
|
|
552
591
|
}
|
|
592
|
+
async function waitForNotificationCenterClosed(timeoutMs = 1000) {
|
|
593
|
+
const startedAt = Date.now();
|
|
594
|
+
const isStillOpen = () => isElementPresent("@notification-center-list") ||
|
|
595
|
+
isNotificationCenterExpanded();
|
|
596
|
+
while (Date.now() - startedAt < timeoutMs && isStillOpen()) {
|
|
597
|
+
await waitForDelay(50);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
553
600
|
function isAgentsPanelOpen() {
|
|
554
601
|
const trigger = document.querySelector('[data-testid="agents-panel-button"]');
|
|
555
602
|
return (trigger?.getAttribute("aria-pressed") === "true" ||
|
|
@@ -609,11 +656,13 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
609
656
|
revealRef.current = null;
|
|
610
657
|
setIsActiveReveal(false);
|
|
611
658
|
}, []);
|
|
612
|
-
//
|
|
613
|
-
// (reverse open order so nested surfaces close first)
|
|
659
|
+
// Tear down this reveal: wipe its highlight, reset the button, and close every
|
|
660
|
+
// owned surface (reverse open order so nested surfaces close first) EXCEPT
|
|
661
|
+
// those whose key is in `keepKeys`. Kept (still-open) surfaces are returned so
|
|
662
|
+
// a superseding reveal can adopt them instead of closing+reopening them.
|
|
614
663
|
// Used for explicit close (2nd click, auto timer), external-close handling,
|
|
615
664
|
// and being superseded by another reveal.
|
|
616
|
-
const
|
|
665
|
+
const runRestoreKeeping = useCallback(async (keepKeys = []) => {
|
|
617
666
|
const reveal = revealRef.current;
|
|
618
667
|
// Remove the highlight immediately so it does not keep pulsing over the
|
|
619
668
|
// close/re-open transition while the next reveal builds up.
|
|
@@ -624,12 +673,17 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
624
673
|
revealRef.current = null;
|
|
625
674
|
setIsActiveReveal(false);
|
|
626
675
|
if (!reveal)
|
|
627
|
-
return;
|
|
676
|
+
return [];
|
|
677
|
+
const kept = [];
|
|
628
678
|
// Close in reverse open order (nested surfaces close first).
|
|
629
679
|
for (let i = reveal.surfaceOps.length - 1; i >= 0; i -= 1) {
|
|
630
680
|
const op = reveal.surfaceOps[i];
|
|
631
681
|
if (!op)
|
|
632
682
|
continue;
|
|
683
|
+
if (keepKeys.includes(op.key) && op.isOpen()) {
|
|
684
|
+
kept.push(op);
|
|
685
|
+
continue;
|
|
686
|
+
}
|
|
633
687
|
try {
|
|
634
688
|
await op.close();
|
|
635
689
|
}
|
|
@@ -637,9 +691,16 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
637
691
|
// ignore individual close failures
|
|
638
692
|
}
|
|
639
693
|
}
|
|
694
|
+
// Returned in open order so the adopting reveal can splice them back in.
|
|
695
|
+
return kept.reverse();
|
|
640
696
|
}, []);
|
|
697
|
+
const runRestore = useCallback(async () => {
|
|
698
|
+
await runRestoreKeeping([]);
|
|
699
|
+
}, [runRestoreKeeping]);
|
|
641
700
|
const runRestoreRef = useRef(runRestore);
|
|
642
701
|
runRestoreRef.current = runRestore;
|
|
702
|
+
const runRestoreKeepingRef = useRef(runRestoreKeeping);
|
|
703
|
+
runRestoreKeepingRef.current = runRestoreKeeping;
|
|
643
704
|
// Keep the presence/visibility probes fresh.
|
|
644
705
|
useEffect(() => {
|
|
645
706
|
const check = () => {
|
|
@@ -688,7 +749,15 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
688
749
|
return;
|
|
689
750
|
const check = () => {
|
|
690
751
|
const reveal = revealRef.current;
|
|
691
|
-
|
|
752
|
+
const anchorPresent = anchorSelector
|
|
753
|
+
? isElementPresent(anchorSelector)
|
|
754
|
+
: isAnchorPresent;
|
|
755
|
+
if (shouldResetActiveReveal({
|
|
756
|
+
hasReveal: Boolean(reveal),
|
|
757
|
+
isRevealStillOpen: reveal?.isStillOpen() ?? false,
|
|
758
|
+
hasAvailabilitySelector,
|
|
759
|
+
isAnchorPresent: anchorPresent,
|
|
760
|
+
})) {
|
|
692
761
|
resetActiveState();
|
|
693
762
|
}
|
|
694
763
|
};
|
|
@@ -709,7 +778,13 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
709
778
|
observer.disconnect();
|
|
710
779
|
clearInterval(intervalId);
|
|
711
780
|
};
|
|
712
|
-
}, [
|
|
781
|
+
}, [
|
|
782
|
+
anchorSelector,
|
|
783
|
+
hasAvailabilitySelector,
|
|
784
|
+
isActiveReveal,
|
|
785
|
+
isAnchorPresent,
|
|
786
|
+
resetActiveState,
|
|
787
|
+
]);
|
|
713
788
|
// Clear the global active controller if this button unmounts while active.
|
|
714
789
|
useEffect(() => {
|
|
715
790
|
return () => {
|
|
@@ -748,27 +823,45 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
748
823
|
if (clickToken !== revealClickSeq) {
|
|
749
824
|
return;
|
|
750
825
|
}
|
|
826
|
+
const resolveElements = (selector = selectorDef.selector) => selector ? getElementsForSelector(selector) : [];
|
|
751
827
|
// State-machine semantics: any new Show-me action supersedes the
|
|
752
|
-
// currently active State 3 reveal from another button,
|
|
753
|
-
//
|
|
754
|
-
//
|
|
828
|
+
// currently active State 3 reveal from another button, tearing it
|
|
829
|
+
// down (clearing its highlight and closing its surfaces) BEFORE
|
|
830
|
+
// this reveal starts opening. Await the teardown so the close
|
|
755
831
|
// animation completes first - the transition is a clean, sequenced
|
|
756
832
|
// close-then-open - and so this reveal samples fresh DOM and avoids
|
|
757
833
|
// a stale "was this surface open?" read. Because clicks are
|
|
758
834
|
// serialized above, the superseded controller is always the
|
|
759
835
|
// previous fully-settled reveal (no race here).
|
|
836
|
+
//
|
|
837
|
+
// Exception: if this reveal would only reopen the same editor-form
|
|
838
|
+
// slider, hand the already-open surface off instead of closing it,
|
|
839
|
+
// so the slider does not visibly close and reopen. We then own it
|
|
840
|
+
// and close it on our own restore.
|
|
841
|
+
const carrySlider = getEditorFormSlider([
|
|
842
|
+
...resolveElements(),
|
|
843
|
+
...(anchorSelector ? resolveElements(anchorSelector) : []),
|
|
844
|
+
]);
|
|
845
|
+
const keepKeys = shouldCarryEditorFormSurface({
|
|
846
|
+
isSidebarOnly,
|
|
847
|
+
sliderExists: carrySlider !== null,
|
|
848
|
+
isSliderOpen: !isEditorFormSliderHidden(carrySlider),
|
|
849
|
+
})
|
|
850
|
+
? ["editor-form"]
|
|
851
|
+
: [];
|
|
760
852
|
const superseded = supersedeActiveReveal(controllerIdRef.current);
|
|
853
|
+
let carriedSurfaceOps = [];
|
|
761
854
|
if (superseded) {
|
|
762
855
|
try {
|
|
763
|
-
await superseded.
|
|
856
|
+
carriedSurfaceOps = await superseded.closeKeeping(keepKeys);
|
|
764
857
|
}
|
|
765
858
|
catch {
|
|
766
859
|
// ignore supersede failures
|
|
860
|
+
carriedSurfaceOps = [];
|
|
767
861
|
}
|
|
768
862
|
}
|
|
769
863
|
const runId = globalThis.crypto?.randomUUID?.() ??
|
|
770
864
|
`manual-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
771
|
-
const resolveElements = (selector = selectorDef.selector) => selector ? getElementsForSelector(selector) : [];
|
|
772
865
|
const runManualAction = async (actionName, elements) => {
|
|
773
866
|
if (!actionName ||
|
|
774
867
|
!editContext ||
|
|
@@ -786,10 +879,11 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
786
879
|
};
|
|
787
880
|
await action(actionProps);
|
|
788
881
|
};
|
|
789
|
-
// Surfaces this reveal
|
|
790
|
-
// restore.
|
|
791
|
-
//
|
|
792
|
-
|
|
882
|
+
// Surfaces this reveal owns, in open order. Closed in reverse on
|
|
883
|
+
// restore. Any surface handed off by the superseded reveal (the
|
|
884
|
+
// already-open editor-form slider) is adopted here, so we keep it
|
|
885
|
+
// open instead of reopening it and still close it on our restore.
|
|
886
|
+
const surfaceOps = [...carriedSurfaceOps];
|
|
793
887
|
// Register a surface unless one with the same key was already
|
|
794
888
|
// pushed by an earlier step in this same reveal.
|
|
795
889
|
const pushSurface = (op) => {
|
|
@@ -844,7 +938,10 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
844
938
|
editContextRef.current?.setEditorFormHiddenForSlot(slotId, true);
|
|
845
939
|
await editContextRef.current?.waitForSurfaceSettled?.("editor-form");
|
|
846
940
|
},
|
|
847
|
-
isOpen: () =>
|
|
941
|
+
isOpen: () => {
|
|
942
|
+
const slider = getEditorFormSlider();
|
|
943
|
+
return slider !== null && !isEditorFormSliderHidden(slider);
|
|
944
|
+
},
|
|
848
945
|
});
|
|
849
946
|
await editContext.waitForSurfaceSettled?.("editor-form");
|
|
850
947
|
}
|
|
@@ -860,6 +957,7 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
860
957
|
: availabilityElements;
|
|
861
958
|
const morePanelsWasOpen = isElementPresent("@more-sidebars-panel");
|
|
862
959
|
const versionSelectorWasOpen = isElementPresent("@version-selector-list");
|
|
960
|
+
const notificationCenterWasOpen = isElementPresent("@notification-center-list");
|
|
863
961
|
// Capture pre-reveal state for the AI Assistant reveals so we only
|
|
864
962
|
// restore (close) what THIS button actually opened.
|
|
865
963
|
const agentsPanelWasOpen = isAgentsPanelOpen();
|
|
@@ -898,6 +996,20 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
898
996
|
});
|
|
899
997
|
}
|
|
900
998
|
}
|
|
999
|
+
if (selectorDef.beforeAction === "open-notification-center") {
|
|
1000
|
+
const notificationCenterNowOpen = isElementPresent("@notification-center-list");
|
|
1001
|
+
if (!notificationCenterWasOpen && notificationCenterNowOpen) {
|
|
1002
|
+
pushSurface({
|
|
1003
|
+
key: "notification-center",
|
|
1004
|
+
close: async () => {
|
|
1005
|
+
closeNotificationCenterIfOpen();
|
|
1006
|
+
await waitForSelectorAnimations('[data-testid="notification-center-list"]');
|
|
1007
|
+
await waitForNotificationCenterClosed();
|
|
1008
|
+
},
|
|
1009
|
+
isOpen: () => isElementPresent("@notification-center-list"),
|
|
1010
|
+
});
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
901
1013
|
if (selectorDef.beforeAction === "open-agents-panel" ||
|
|
902
1014
|
selectorDef.beforeAction === "open-agent-settings") {
|
|
903
1015
|
// The beforeAction already awaited the panel/popover open
|
|
@@ -970,9 +1082,8 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
970
1082
|
: ""
|
|
971
1083
|
: selectorDef.selector;
|
|
972
1084
|
// The highlight runs a finite CSS animation; highlightElement
|
|
973
|
-
// resolves on its animationend.
|
|
974
|
-
//
|
|
975
|
-
// close=auto instead chains its restore onto this lifetime.
|
|
1085
|
+
// resolves on its animationend. Stateful reveals register below
|
|
1086
|
+
// without awaiting it; close=auto chains restore onto this lifetime.
|
|
976
1087
|
let highlightLifetime = Promise.resolve();
|
|
977
1088
|
if (highlightSelector) {
|
|
978
1089
|
const highlightTargets = await waitForVisibleElements(highlightSelector, 1500);
|
|
@@ -980,9 +1091,28 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
980
1091
|
highlightLifetime = highlightElement(highlightSelector, HIGHLIGHT_DURATION_MS);
|
|
981
1092
|
}
|
|
982
1093
|
}
|
|
983
|
-
|
|
1094
|
+
const hasStatefulSurface = hasStatefulRevealSurface(surfaceOps.map((op) => op.key));
|
|
1095
|
+
if (surfaceOps.length > 0 && !hasStatefulSurface) {
|
|
1096
|
+
// Restore-only custom actions (for example field action reveals)
|
|
1097
|
+
// should clean up after the highlight, but they do not represent
|
|
1098
|
+
// an opened pane/popover that needs a green "close" state.
|
|
1099
|
+
void highlightLifetime.then(async () => {
|
|
1100
|
+
for (let i = surfaceOps.length - 1; i >= 0; i -= 1) {
|
|
1101
|
+
const op = surfaceOps[i];
|
|
1102
|
+
if (!op)
|
|
1103
|
+
continue;
|
|
1104
|
+
try {
|
|
1105
|
+
await op.close();
|
|
1106
|
+
}
|
|
1107
|
+
catch {
|
|
1108
|
+
// ignore individual restore failures
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
});
|
|
1112
|
+
}
|
|
1113
|
+
// If we opened a real surface, this was a State-3 reveal: keep the
|
|
984
1114
|
// button active (green) and register it for mutual exclusion.
|
|
985
|
-
if (
|
|
1115
|
+
if (hasStatefulSurface) {
|
|
986
1116
|
const id = ++revealControllerSeq;
|
|
987
1117
|
controllerIdRef.current = id;
|
|
988
1118
|
revealRef.current = {
|
|
@@ -1000,6 +1130,7 @@ function SelectorButton({ selectorDef, keyProp, }) {
|
|
|
1000
1130
|
registerActiveReveal({
|
|
1001
1131
|
id,
|
|
1002
1132
|
close: () => runRestoreRef.current(),
|
|
1133
|
+
closeKeeping: (keepKeys) => runRestoreKeepingRef.current(keepKeys),
|
|
1003
1134
|
isStillOpen: () => revealRef.current?.isStillOpen() ?? false,
|
|
1004
1135
|
});
|
|
1005
1136
|
setIsActiveReveal(true);
|
|
@@ -1306,8 +1437,10 @@ function flattenNavigableSections(sections) {
|
|
|
1306
1437
|
return flattened;
|
|
1307
1438
|
}
|
|
1308
1439
|
const MANUAL_SECTION_TEMPLATE_ID = "c5f1e8a2-9b50-4fe2-9b6d-3db00c3b3b8a";
|
|
1440
|
+
const MANUAL_SEARCH_DEBOUNCE_MS = 600;
|
|
1309
1441
|
export function ManualBrowser({ onClose }) {
|
|
1310
1442
|
const editContext = useEditContext();
|
|
1443
|
+
const editContextRef = useRef(editContext);
|
|
1311
1444
|
const [toc, setToc] = useState([]);
|
|
1312
1445
|
const selectedSectionId = editContext?.selectedHelpSectionId ?? null;
|
|
1313
1446
|
const [currentSection, setCurrentSection] = useState(null);
|
|
@@ -1370,6 +1503,7 @@ export function ManualBrowser({ onClose }) {
|
|
|
1370
1503
|
}
|
|
1371
1504
|
return map;
|
|
1372
1505
|
}, [toc]);
|
|
1506
|
+
const manualSectionsByIdRef = useRef(manualSectionsById);
|
|
1373
1507
|
const backTargetSectionId = manualBackHistory.length > 0
|
|
1374
1508
|
? manualBackHistory[manualBackHistory.length - 1]
|
|
1375
1509
|
: null;
|
|
@@ -1382,6 +1516,8 @@ export function ManualBrowser({ onClose }) {
|
|
|
1382
1516
|
? `Back to ${backTargetSection.title}`
|
|
1383
1517
|
: "Back to contents";
|
|
1384
1518
|
const backButtonText = backTargetSectionId === null ? "Contents" : "Back";
|
|
1519
|
+
editContextRef.current = editContext;
|
|
1520
|
+
manualSectionsByIdRef.current = manualSectionsById;
|
|
1385
1521
|
// Keep selectedSectionId ref in sync
|
|
1386
1522
|
useEffect(() => {
|
|
1387
1523
|
selectedSectionIdRef.current = selectedSectionId;
|
|
@@ -1502,17 +1638,23 @@ export function ManualBrowser({ onClose }) {
|
|
|
1502
1638
|
useEffect(() => {
|
|
1503
1639
|
let cancelled = false;
|
|
1504
1640
|
const trimmedQuery = searchQuery.trim();
|
|
1505
|
-
if (!trimmedQuery || !
|
|
1641
|
+
if (!trimmedQuery || !editContextRef.current) {
|
|
1506
1642
|
setSearching(false);
|
|
1507
1643
|
setSearchResults([]);
|
|
1508
1644
|
return;
|
|
1509
1645
|
}
|
|
1510
1646
|
const timeoutId = window.setTimeout(async () => {
|
|
1647
|
+
const latestEditContext = editContextRef.current;
|
|
1648
|
+
if (!latestEditContext) {
|
|
1649
|
+
setSearching(false);
|
|
1650
|
+
setSearchResults([]);
|
|
1651
|
+
return;
|
|
1652
|
+
}
|
|
1511
1653
|
setSearching(true);
|
|
1512
1654
|
try {
|
|
1513
1655
|
const result = await executeSearch({
|
|
1514
1656
|
query: `${trimmedQuery}|template:${MANUAL_SECTION_TEMPLATE_ID}`,
|
|
1515
|
-
editContext,
|
|
1657
|
+
editContext: latestEditContext,
|
|
1516
1658
|
maxResults: 20,
|
|
1517
1659
|
index: "master",
|
|
1518
1660
|
skipValidation: true,
|
|
@@ -1521,8 +1663,9 @@ export function ManualBrowser({ onClose }) {
|
|
|
1521
1663
|
return;
|
|
1522
1664
|
if (result.type === "success") {
|
|
1523
1665
|
const items = result.data || [];
|
|
1666
|
+
const latestManualSectionsById = manualSectionsByIdRef.current;
|
|
1524
1667
|
const mapped = items
|
|
1525
|
-
.map((item) =>
|
|
1668
|
+
.map((item) => latestManualSectionsById.get(String(item.id || "").toLowerCase()))
|
|
1526
1669
|
.filter((section) => !!section);
|
|
1527
1670
|
const unique = Array.from(new Map(mapped.map((section) => [section.id, section])).values());
|
|
1528
1671
|
setSearchResults(unique);
|
|
@@ -1543,12 +1686,12 @@ export function ManualBrowser({ onClose }) {
|
|
|
1543
1686
|
setSearching(false);
|
|
1544
1687
|
}
|
|
1545
1688
|
}
|
|
1546
|
-
},
|
|
1689
|
+
}, MANUAL_SEARCH_DEBOUNCE_MS);
|
|
1547
1690
|
return () => {
|
|
1548
1691
|
cancelled = true;
|
|
1549
1692
|
window.clearTimeout(timeoutId);
|
|
1550
1693
|
};
|
|
1551
|
-
}, [searchQuery
|
|
1694
|
+
}, [searchQuery]);
|
|
1552
1695
|
// Listen for websocket messages to auto-refresh when manual items change
|
|
1553
1696
|
// Use ref for selectedSectionId to avoid stale closures and only re-register when selection actually changes
|
|
1554
1697
|
useEffect(() => {
|