@parhelia/core 0.1.12886 → 0.1.12889
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.d.ts +2 -1
- package/dist/agents-view/AgentCard.js +16 -35
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryCard.d.ts +12 -0
- package/dist/agents-view/AgentGalleryCard.js +13 -0
- package/dist/agents-view/AgentGalleryCard.js.map +1 -0
- package/dist/agents-view/AgentGalleryView.d.ts +18 -0
- package/dist/agents-view/AgentGalleryView.js +88 -0
- package/dist/agents-view/AgentGalleryView.js.map +1 -0
- package/dist/agents-view/AgentsView.js +39 -11
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +40 -21
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
- package/dist/agents-view/DateAgentsGroup.js +2 -2
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
- package/dist/agents-view/ProfileAgentsGroup.js +5 -5
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/agents-view/RenameAgentDialog.d.ts +12 -0
- package/dist/agents-view/RenameAgentDialog.js +40 -0
- package/dist/agents-view/RenameAgentDialog.js.map +1 -0
- package/dist/components/FilterInput.d.ts +2 -0
- package/dist/components/FilterInput.js +4 -2
- package/dist/components/FilterInput.js.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +1 -1
- package/dist/components/ui/alert-dialog.js +5 -5
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert.d.ts +3 -2
- package/dist/components/ui/alert.js +9 -4
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +9 -4
- package/dist/components/ui/button.js +16 -9
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/dialog.js +4 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/editor/FieldListField.js +6 -2
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +2 -1
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +3 -3
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/ai/AgentInlineDialogContent.js +1 -1
- package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
- package/dist/editor/ai/Agents.js +2 -2
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +1 -1
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +52 -82
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.d.ts +82 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js +277 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +3 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +3 -3
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +5 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js +14 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +2 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +5 -2
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +12 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +207 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +4 -19
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +33 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +20 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +11 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +59 -7
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.d.ts +9 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +56 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/contextBreakdown.d.ts +17 -0
- package/dist/editor/ai/terminal/contextBreakdown.js +58 -0
- package/dist/editor/ai/terminal/contextBreakdown.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +29 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +68 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +8 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +10 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js +33 -4
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +16 -2
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +3 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.js +12 -1
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +3 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +48 -4
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js +13 -1
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js +31 -7
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
- package/dist/editor/bridge/BridgeClient.d.ts +1 -8
- package/dist/editor/bridge/BridgeClient.js +2 -4
- package/dist/editor/bridge/BridgeClient.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +517 -0
- package/dist/editor/bridge/protocol.js +188 -0
- package/dist/editor/bridge/protocol.js.map +1 -0
- package/dist/editor/client/AboutDialog.js +15 -4
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +36 -6
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +6 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +3 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +57 -25
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/hooks/useWorkbox.d.ts +1 -0
- package/dist/editor/client/hooks/useWorkbox.js +14 -1
- package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
- package/dist/editor/client/operationToasts.d.ts +2 -0
- package/dist/editor/client/operationToasts.js +35 -0
- package/dist/editor/client/operationToasts.js.map +1 -0
- package/dist/editor/client/operations.d.ts +4 -0
- package/dist/editor/client/operations.js +134 -74
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.d.ts +1 -0
- package/dist/editor/client/waitForEditOperationTerminal.js +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
- package/dist/editor/commands/itemCommands.js +5 -16
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/field-types/CheckboxEditor.js +3 -1
- package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +24 -7
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +19 -2
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/useTextCompletion.d.ts +20 -0
- package/dist/editor/field-types/useTextCompletion.js +166 -0
- package/dist/editor/field-types/useTextCompletion.js.map +1 -0
- package/dist/editor/menubar/OperationsIndicator.d.ts +7 -0
- package/dist/editor/menubar/OperationsIndicator.js +87 -0
- package/dist/editor/menubar/OperationsIndicator.js.map +1 -0
- package/dist/editor/menubar/ToolbarFactory.js +4 -1
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +7 -4
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.js +7 -3
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +4 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.js +28 -27
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/NotificationItem.js +99 -15
- package/dist/editor/notifications/NotificationItem.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +3 -10
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +2 -2
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +21 -0
- package/dist/editor/page-viewer/MiniMap.js +113 -11
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +88 -22
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +1 -2
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/pageViewContext.d.ts +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +5 -1
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +12 -2
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/latestFeedbackData.js +7 -1
- package/dist/editor/reviews/latestFeedbackData.js.map +1 -1
- package/dist/editor/reviews/suggestedEditState.d.ts +2 -0
- package/dist/editor/reviews/suggestedEditState.js +20 -0
- package/dist/editor/reviews/suggestedEditState.js.map +1 -1
- package/dist/editor/reviews/suggestionContentChange.d.ts +1 -1
- package/dist/editor/reviews/suggestionContentChange.js +23 -3
- package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +6 -0
- package/dist/editor/services/agentService.js +14 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +5 -0
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/settings/About.js +1 -1
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -0
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +61 -33
- 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/StatusPanel.js +10 -7
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/sidebar/Completions.js +1 -1
- package/dist/editor/sidebar/Completions.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +1 -1
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +1 -1
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +18 -4
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/ui/DialogButtons.d.ts +3 -1
- package/dist/editor/ui/DialogButtons.js +3 -2
- package/dist/editor/ui/DialogButtons.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 +4 -6
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +1 -1
- package/dist/editor/workflowFields.d.ts +1 -0
- package/dist/editor/workflowFields.js +16 -0
- package/dist/editor/workflowFields.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/NewPage.js +26 -7
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +57 -4
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/TaskBoardHomeView.d.ts +27 -0
- package/dist/task-board/components/TaskBoardHomeView.js +158 -0
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -0
- package/package.json +1 -2
- package/styles.css +4 -3
|
@@ -8,6 +8,7 @@ import { extractPlainTextContext } from "../utils/selectionContext";
|
|
|
8
8
|
import { useEffect, useRef, useState, useCallback } from "react";
|
|
9
9
|
import { RefreshCw } from "lucide-react";
|
|
10
10
|
import { useFormFieldCaretPresence } from "./useFormFieldCaretPresence";
|
|
11
|
+
import { useTextCompletion } from "./useTextCompletion";
|
|
11
12
|
export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, }) {
|
|
12
13
|
const editContextRef = useEditContextRef();
|
|
13
14
|
const editContext = useEditContext();
|
|
@@ -27,6 +28,15 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
27
28
|
const [value, setValue] = useState(undefined);
|
|
28
29
|
// Field-specific subscription - only rerenders when THIS field changes
|
|
29
30
|
const { modifiedField } = useFieldModification(field.id, fieldItem.id, fieldItem.language, fieldItem.version, slotContext?.fieldModificationStore);
|
|
31
|
+
const { completion, isLoadingCompletion, clearCompletion, handleCompletionKeyDown, } = useTextCompletion({
|
|
32
|
+
editContext,
|
|
33
|
+
field,
|
|
34
|
+
inputRef,
|
|
35
|
+
readOnly,
|
|
36
|
+
value: value ?? "",
|
|
37
|
+
setValue,
|
|
38
|
+
updateValue: updateFieldValue,
|
|
39
|
+
});
|
|
30
40
|
useEffect(() => {
|
|
31
41
|
if (inputRef.current !== document.activeElement) {
|
|
32
42
|
if (field.isHistoric)
|
|
@@ -47,6 +57,7 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
47
57
|
setValue(newValue);
|
|
48
58
|
updateFieldValue(newValue);
|
|
49
59
|
}
|
|
60
|
+
clearCompletion();
|
|
50
61
|
publishCaretPresenceAfterSelectionSettles(e.target);
|
|
51
62
|
};
|
|
52
63
|
// Create a stable callback for replacing selected text or inserting at cursor
|
|
@@ -94,6 +105,9 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
94
105
|
};
|
|
95
106
|
// Handle keyboard shortcut (Ctrl/Cmd + .) to trigger AI text edit
|
|
96
107
|
const handleKeyDown = useCallback((e) => {
|
|
108
|
+
if (handleCompletionKeyDown(e)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
97
111
|
// Check for Ctrl+. or Cmd+.
|
|
98
112
|
if ((e.ctrlKey || e.metaKey) && e.key === ".") {
|
|
99
113
|
// Allow triggering even without selection - just need to be in this field
|
|
@@ -104,7 +118,7 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
104
118
|
document.dispatchEvent(new CustomEvent("inline-ai-open"));
|
|
105
119
|
}
|
|
106
120
|
}
|
|
107
|
-
}, [editContext, field.id]);
|
|
121
|
+
}, [editContext, field.id, handleCompletionKeyDown]);
|
|
108
122
|
useEffect(() => {
|
|
109
123
|
const focusedField = fieldsContextRef.current?.focusedField;
|
|
110
124
|
if (focusedField?.fieldId === field.id &&
|
|
@@ -158,6 +172,9 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
158
172
|
}, [fieldsContextRef.current?.focusedField]);
|
|
159
173
|
const customSource = field?.customProperties?.source;
|
|
160
174
|
const isManualRefreshEnabled = typeof customSource === "string" && customSource.includes("manual-refresh");
|
|
161
|
-
return (_jsxs("div", { className: "relative", children: [_jsx(Input, { ref: inputRef, value: value ?? "", disabled: readOnly, className: "focus-shadow border-neutral-grey-10 bg-neutral-grey-5 w-full p-1.5 pr-7 text-xs", onChange: handleChange, onBlur:
|
|
175
|
+
return (_jsxs("div", { className: "relative", children: [_jsx(Input, { ref: inputRef, value: value ?? "", disabled: readOnly, className: "focus-shadow border-neutral-grey-10 bg-neutral-grey-5 w-full p-1.5 pr-7 text-xs", onChange: handleChange, onBlur: () => {
|
|
176
|
+
clearCaretPresence();
|
|
177
|
+
clearCompletion();
|
|
178
|
+
}, onFocus: (e) => publishCaretPresenceAfterSelectionSettles(e.currentTarget), onKeyUp: (e) => publishCaretPresenceAfterSelectionSettles(e.currentTarget), onMouseUp: (e) => publishCaretPresence(e.currentTarget), onSelect: handleSelect, onKeyDown: handleKeyDown, tabIndex: tabIndex }, fieldItem.id + field.id + fieldItem.language + fieldItem.version), isManualRefreshEnabled && (_jsx("button", { type: "button", title: "Re-render", className: "text-neutral-grey-50 hover:text-neutral-grey-100 absolute top-1/2 right-1 -translate-y-1/2 rounded p-1", onClick: () => editContext?.requestRefresh("immediate"), children: _jsx(RefreshCw, { className: "h-4 w-4", strokeWidth: 1 }) })), (completion || isLoadingCompletion) && (_jsx("div", { className: "border-border-default bg-background text-neutral-grey-50 absolute top-full right-0 left-0 z-20 mt-1 rounded border px-2 py-1 text-xs shadow-sm", children: isLoadingCompletion ? "Completing..." : completion }))] }));
|
|
162
179
|
}
|
|
163
180
|
//# sourceMappingURL=SingleLineText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleLineText.js","sourceRoot":"","sources":["../../../src/editor/field-types/SingleLineText.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"SingleLineText.js","sourceRoot":"","sources":["../../../src/editor/field-types/SingleLineText.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import { EditContextType } from "../client/editContext";
|
|
3
|
+
import { Field } from "../pageModel";
|
|
4
|
+
type TextCompletionControl = HTMLInputElement | HTMLTextAreaElement;
|
|
5
|
+
type UseTextCompletionOptions = {
|
|
6
|
+
editContext: EditContextType | undefined;
|
|
7
|
+
field: Field;
|
|
8
|
+
inputRef: React.RefObject<TextCompletionControl | null>;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
value: string;
|
|
11
|
+
setValue: (value: string) => void;
|
|
12
|
+
updateValue: (value: string) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare function useTextCompletion({ editContext, field, inputRef, readOnly, value, setValue, updateValue, }: UseTextCompletionOptions): {
|
|
15
|
+
completion: string;
|
|
16
|
+
isLoadingCompletion: boolean;
|
|
17
|
+
clearCompletion: () => void;
|
|
18
|
+
handleCompletionKeyDown: (event: React.KeyboardEvent<TextCompletionControl>) => boolean;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { generatePageContext, getCachedContext, } from "../services/contextService";
|
|
4
|
+
import { post } from "../services/serviceHelper";
|
|
5
|
+
function normalizeCompletion(completion) {
|
|
6
|
+
return (completion || "").replace(/\s+/g, " ").trimStart();
|
|
7
|
+
}
|
|
8
|
+
async function buildCompletionContext(editContext, field, value, selectionStart, selectionEnd) {
|
|
9
|
+
const parts = [];
|
|
10
|
+
const cachedContext = getCachedContext(editContext);
|
|
11
|
+
const activeSlotContext = editContext.getActiveSlotContext?.();
|
|
12
|
+
const pageViewContext = activeSlotContext?.primaryPageViewContext;
|
|
13
|
+
const pageContext = cachedContext ||
|
|
14
|
+
(pageViewContext
|
|
15
|
+
? await generatePageContext(editContext, pageViewContext)
|
|
16
|
+
: null);
|
|
17
|
+
if (pageContext?.abstract) {
|
|
18
|
+
parts.push(`Page context: ${pageContext.abstract}`);
|
|
19
|
+
}
|
|
20
|
+
parts.push(`Field: ${field.displayName || field.name || field.id}`, `Field type: ${field.type}`);
|
|
21
|
+
const beforeCursor = value.slice(Math.max(0, selectionStart - 1000), selectionStart);
|
|
22
|
+
const afterCursor = value.slice(selectionEnd, selectionEnd + 500);
|
|
23
|
+
if (beforeCursor.trim()) {
|
|
24
|
+
parts.push(`Text before cursor: ${beforeCursor}`);
|
|
25
|
+
}
|
|
26
|
+
if (afterCursor.trim()) {
|
|
27
|
+
parts.push(`Text after cursor: ${afterCursor}`);
|
|
28
|
+
}
|
|
29
|
+
return parts.join("\n\n");
|
|
30
|
+
}
|
|
31
|
+
export function useTextCompletion({ editContext, field, inputRef, readOnly, value, setValue, updateValue, }) {
|
|
32
|
+
const [completion, setCompletion] = useState("");
|
|
33
|
+
const [isLoadingCompletion, setIsLoadingCompletion] = useState(false);
|
|
34
|
+
const requestIdRef = useRef(0);
|
|
35
|
+
const abortControllerRef = useRef(null);
|
|
36
|
+
const clearCompletion = useCallback(() => {
|
|
37
|
+
abortControllerRef.current?.abort();
|
|
38
|
+
abortControllerRef.current = null;
|
|
39
|
+
setCompletion("");
|
|
40
|
+
setIsLoadingCompletion(false);
|
|
41
|
+
}, []);
|
|
42
|
+
const applyCompletion = useCallback(() => {
|
|
43
|
+
const input = inputRef.current;
|
|
44
|
+
const normalizedCompletion = normalizeCompletion(completion);
|
|
45
|
+
if (!input || !normalizedCompletion) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const start = input.selectionStart ?? value.length;
|
|
49
|
+
const end = input.selectionEnd ?? start;
|
|
50
|
+
const nextValue = value.slice(0, start) + normalizedCompletion + value.slice(end);
|
|
51
|
+
const nextCursor = start + normalizedCompletion.length;
|
|
52
|
+
setValue(nextValue);
|
|
53
|
+
updateValue(nextValue);
|
|
54
|
+
setCompletion("");
|
|
55
|
+
window.setTimeout(() => {
|
|
56
|
+
input.focus();
|
|
57
|
+
input.setSelectionRange(nextCursor, nextCursor);
|
|
58
|
+
input.dispatchEvent(new Event("select", { bubbles: true }));
|
|
59
|
+
}, 0);
|
|
60
|
+
return true;
|
|
61
|
+
}, [completion, inputRef, setValue, updateValue, value]);
|
|
62
|
+
const requestCompletion = useCallback(async (force = false) => {
|
|
63
|
+
const input = inputRef.current;
|
|
64
|
+
if (!editContext?.enableCompletions || readOnly || !input) {
|
|
65
|
+
clearCompletion();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const selectionStart = input.selectionStart ?? value.length;
|
|
69
|
+
const selectionEnd = input.selectionEnd ?? selectionStart;
|
|
70
|
+
const textToComplete = value.slice(0, selectionStart);
|
|
71
|
+
if (!force && textToComplete.trim().length < 3) {
|
|
72
|
+
clearCompletion();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const requestId = requestIdRef.current + 1;
|
|
76
|
+
requestIdRef.current = requestId;
|
|
77
|
+
abortControllerRef.current?.abort();
|
|
78
|
+
const abortController = new AbortController();
|
|
79
|
+
abortControllerRef.current = abortController;
|
|
80
|
+
setIsLoadingCompletion(true);
|
|
81
|
+
try {
|
|
82
|
+
const contextInfo = await buildCompletionContext(editContext, field, value, selectionStart, selectionEnd);
|
|
83
|
+
const response = await post("/parhelia/agent/GetTextCompletion", {
|
|
84
|
+
textToComplete,
|
|
85
|
+
contextInfo,
|
|
86
|
+
}, undefined, abortController.signal);
|
|
87
|
+
if (requestId !== requestIdRef.current ||
|
|
88
|
+
abortController.signal.aborted) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (response.type === "success") {
|
|
92
|
+
setCompletion(normalizeCompletion(response.data?.completion));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
console.warn("Failed to get text completion", response);
|
|
96
|
+
setCompletion("");
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
if (!abortController.signal.aborted) {
|
|
101
|
+
console.warn("Failed to get text completion", error);
|
|
102
|
+
setCompletion("");
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
if (requestId === requestIdRef.current) {
|
|
107
|
+
setIsLoadingCompletion(false);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, [clearCompletion, editContext, field, inputRef, readOnly, value]);
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
const input = inputRef.current;
|
|
113
|
+
if (!editContext?.enableCompletions ||
|
|
114
|
+
readOnly ||
|
|
115
|
+
!input ||
|
|
116
|
+
document.activeElement !== input) {
|
|
117
|
+
clearCompletion();
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const handle = window.setTimeout(() => {
|
|
121
|
+
void requestCompletion(false);
|
|
122
|
+
}, 900);
|
|
123
|
+
return () => window.clearTimeout(handle);
|
|
124
|
+
}, [
|
|
125
|
+
clearCompletion,
|
|
126
|
+
editContext?.enableCompletions,
|
|
127
|
+
inputRef,
|
|
128
|
+
readOnly,
|
|
129
|
+
requestCompletion,
|
|
130
|
+
value,
|
|
131
|
+
]);
|
|
132
|
+
const handleCompletionKeyDown = useCallback((event) => {
|
|
133
|
+
if ((event.ctrlKey || event.metaKey) && event.code === "Space") {
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
event.stopPropagation();
|
|
136
|
+
void requestCompletion(true);
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
if (event.key === "Tab" && completion) {
|
|
140
|
+
event.preventDefault();
|
|
141
|
+
event.stopPropagation();
|
|
142
|
+
return applyCompletion();
|
|
143
|
+
}
|
|
144
|
+
if (event.key === "Escape" && (completion || isLoadingCompletion)) {
|
|
145
|
+
event.preventDefault();
|
|
146
|
+
event.stopPropagation();
|
|
147
|
+
clearCompletion();
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
return false;
|
|
151
|
+
}, [
|
|
152
|
+
applyCompletion,
|
|
153
|
+
clearCompletion,
|
|
154
|
+
completion,
|
|
155
|
+
isLoadingCompletion,
|
|
156
|
+
requestCompletion,
|
|
157
|
+
]);
|
|
158
|
+
useEffect(() => () => abortControllerRef.current?.abort(), []);
|
|
159
|
+
return {
|
|
160
|
+
completion,
|
|
161
|
+
isLoadingCompletion,
|
|
162
|
+
clearCompletion,
|
|
163
|
+
handleCompletionKeyDown,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=useTextCompletion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTextCompletion.js","sourceRoot":"","sources":["../../../src/editor/field-types/useTextCompletion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Menubar pill that is visible while long-running operations (publish, import,
|
|
3
|
+
* copy, ...) execute in the background. Shows live progress for each running
|
|
4
|
+
* operation in a popover, plus the most recent completions and failures of
|
|
5
|
+
* this browser session.
|
|
6
|
+
*/
|
|
7
|
+
export declare function OperationsIndicator(): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { CheckCircle2, XCircle } from "lucide-react";
|
|
4
|
+
import { useEditContext, useOperationsContext, } from "../client/editContext";
|
|
5
|
+
import { normalizeOpId } from "../client/waitForEditOperationTerminal";
|
|
6
|
+
import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
|
|
7
|
+
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
|
|
8
|
+
import { Spinner } from "../ui/Spinner";
|
|
9
|
+
const MAX_RECENT_RESULTS = 5;
|
|
10
|
+
function operationLabel(op) {
|
|
11
|
+
const fromType = op.type?.replace(/-/g, " ").trim();
|
|
12
|
+
return (op.title?.trim() ||
|
|
13
|
+
(fromType ? fromType.charAt(0).toUpperCase() + fromType.slice(1) : "") ||
|
|
14
|
+
"Operation");
|
|
15
|
+
}
|
|
16
|
+
/** Slim progress bar; pulses at full width while progress is still unknown. */
|
|
17
|
+
function OperationProgressBar({ progress }) {
|
|
18
|
+
const pct = typeof progress === "number"
|
|
19
|
+
? Math.min(Math.round(progress), 100)
|
|
20
|
+
: undefined;
|
|
21
|
+
return (_jsxs("div", { className: "bg-neutral-grey-10 relative h-1 w-full overflow-hidden rounded-full", children: [pct !== undefined && (_jsx("div", { className: "bg-feedback-blue h-full transition-all duration-300", style: { width: `${pct}%` } })), _jsx("div", { className: "bg-feedback-blue absolute top-0 left-0 h-full animate-pulse opacity-50", style: {
|
|
22
|
+
width: pct !== undefined ? `${Math.max(pct, 2)}%` : "100%",
|
|
23
|
+
animationDuration: "1.5s",
|
|
24
|
+
} })] }));
|
|
25
|
+
}
|
|
26
|
+
function ExecutingOperationRow({ op }) {
|
|
27
|
+
const progress = typeof op.progress === "number"
|
|
28
|
+
? Math.min(Math.round(op.progress), 100)
|
|
29
|
+
: undefined;
|
|
30
|
+
return (_jsxs("div", { className: "px-3 py-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Spinner, { size: "sm" }), _jsx("span", { className: "min-w-0 flex-1 truncate text-xs font-medium", children: operationLabel(op) })] }), _jsx("div", { className: "mt-1.5 w-full", children: _jsx(OperationProgressBar, { progress: progress }) }), _jsxs("div", { className: "text-neutral-grey-50 mt-0.5 flex justify-between text-[10px]", children: [_jsx("span", { className: "mr-2 flex-1 truncate", children: op.statusMessage || "Processing..." }), progress !== undefined && (_jsxs("span", { className: "shrink-0", children: [progress, "%"] }))] })] }));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Menubar pill that is visible while long-running operations (publish, import,
|
|
34
|
+
* copy, ...) execute in the background. Shows live progress for each running
|
|
35
|
+
* operation in a popover, plus the most recent completions and failures of
|
|
36
|
+
* this browser session.
|
|
37
|
+
*/
|
|
38
|
+
export function OperationsIndicator() {
|
|
39
|
+
const editContext = useEditContext();
|
|
40
|
+
const operationsContext = useOperationsContext();
|
|
41
|
+
const [open, setOpen] = useState(false);
|
|
42
|
+
const [recentResults, setRecentResults] = useState([]);
|
|
43
|
+
const addSocketMessageListener = editContext?.addSocketMessageListener;
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (!addSocketMessageListener)
|
|
46
|
+
return;
|
|
47
|
+
return addSocketMessageListener((message) => {
|
|
48
|
+
if (message.type !== "operation:completed" &&
|
|
49
|
+
message.type !== "operation:failed") {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const payload = message.payload ?? {};
|
|
53
|
+
const id = payload.operationId || payload.id;
|
|
54
|
+
if (!id)
|
|
55
|
+
return;
|
|
56
|
+
const key = normalizeOpId(id);
|
|
57
|
+
setRecentResults((prev) => [
|
|
58
|
+
{
|
|
59
|
+
id: key,
|
|
60
|
+
title: operationLabel(payload),
|
|
61
|
+
failed: message.type === "operation:failed",
|
|
62
|
+
errorMessage: payload.errorMessage,
|
|
63
|
+
},
|
|
64
|
+
...prev.filter((x) => x.id !== key),
|
|
65
|
+
].slice(0, MAX_RECENT_RESULTS));
|
|
66
|
+
});
|
|
67
|
+
}, [addSocketMessageListener]);
|
|
68
|
+
const executing = (operationsContext?.executingEditOperations ?? []).filter((op) => op.executionStatus === "executing");
|
|
69
|
+
// Nothing running and the popover is closed: take no menubar space. While
|
|
70
|
+
// the popover is open the trigger must stay mounted, even at zero ops.
|
|
71
|
+
if (executing.length === 0 && !open)
|
|
72
|
+
return null;
|
|
73
|
+
const single = executing.length === 1 ? executing[0] : undefined;
|
|
74
|
+
// Aggregate for the pill bar: average of the known progress values
|
|
75
|
+
const knownProgress = executing
|
|
76
|
+
.map((op) => op.progress)
|
|
77
|
+
.filter((p) => typeof p === "number");
|
|
78
|
+
const pillProgress = knownProgress.length
|
|
79
|
+
? knownProgress.reduce((sum, p) => sum + p, 0) / knownProgress.length
|
|
80
|
+
: undefined;
|
|
81
|
+
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "hover:bg-neutral-grey-5 flex h-8 w-40 cursor-pointer flex-col justify-center gap-1 rounded-md px-2", "data-testid": "operations-indicator", "aria-label": "Operations in progress", children: executing.length > 0 ? (_jsxs(_Fragment, { children: [_jsx(OperationProgressBar, { progress: pillProgress }), _jsx("span", { className: "w-full truncate text-left text-xs leading-none", children: single
|
|
82
|
+
? operationLabel(single)
|
|
83
|
+
: `${executing.length} operations` })] })) : (_jsxs("span", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(CheckCircle2, { className: "text-feedback-green h-3.5 w-3.5" }), "Operations"] })) }) }) }), _jsx(TooltipContent, { children: executing.length > 0
|
|
84
|
+
? "Operations in progress"
|
|
85
|
+
: "Recent operations" })] }), _jsxs(PopoverContent, { align: "end", className: "w-80 p-0", "data-testid": "operations-indicator-popover", children: [executing.length > 0 ? (_jsx("div", { className: "divide-border-default divide-y", children: executing.map((op) => (_jsx(ExecutingOperationRow, { op: op }, op.id))) })) : (_jsx("div", { className: "text-neutral-grey-50 px-3 py-2 text-xs", children: "No operations running" })), recentResults.length > 0 && (_jsxs("div", { className: "border-border-default border-t", children: [_jsx("div", { className: "text-neutral-grey-50 px-3 pt-2 text-[10px] font-medium tracking-wide uppercase", children: "Recent" }), recentResults.map((result) => (_jsxs("div", { className: "flex items-start gap-2 px-3 py-1.5 last:pb-2", children: [result.failed ? (_jsx(XCircle, { className: "text-feedback-red mt-0.5 h-3.5 w-3.5 shrink-0" })) : (_jsx(CheckCircle2, { className: "text-feedback-green mt-0.5 h-3.5 w-3.5 shrink-0" })), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-xs", children: result.title }), result.failed && result.errorMessage && (_jsx("div", { className: "text-feedback-red truncate text-[10px]", title: result.errorMessage, children: result.errorMessage }))] })] }, result.id)))] }))] })] }));
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=OperationsIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OperationsIndicator.js","sourceRoot":"","sources":["../../../src/editor/menubar/OperationsIndicator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,10 @@ import { ReviewCommands, EditControls, InsertControls, ViewportControls, LayoutM
|
|
|
4
4
|
export function createEditToolbar(editContext) {
|
|
5
5
|
if (!editContext)
|
|
6
6
|
return null;
|
|
7
|
-
const
|
|
7
|
+
const activeSlotContext = editContext.getActiveSlotContext();
|
|
8
|
+
const hasLayout = activeSlotContext?.item?.hasLayout ??
|
|
9
|
+
editContext.item?.hasLayout ??
|
|
10
|
+
activeSlotContext?.primaryPageViewContext.page?.item?.hasLayout;
|
|
8
11
|
const isReviewsWorkspace = editContext.workspaceId === "reviews" ||
|
|
9
12
|
editContext.workspaceId === "comments";
|
|
10
13
|
// For items without layout (simple content editor)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarFactory.js","sourceRoot":"","sources":["../../../src/editor/menubar/ToolbarFactory.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,UAAU,iBAAiB,CAAC,WAA4B;IAC5D,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,
|
|
1
|
+
{"version":3,"file":"ToolbarFactory.js","sourceRoot":"","sources":["../../../src/editor/menubar/ToolbarFactory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -72,7 +72,7 @@ export function WorkflowButton() {
|
|
|
72
72
|
editContext?.switchWorkspace(publishView.name);
|
|
73
73
|
}, 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
74
|
}
|
|
75
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, {
|
|
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
76
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxNoCommandsButton", onClick: () => {
|
|
77
77
|
editContext.openSidebar("workbox");
|
|
78
78
|
const publishView = editContext?.configuration.editor.views?.find((x) => x.name === "publish");
|
|
@@ -91,7 +91,7 @@ export function WorkflowButton() {
|
|
|
91
91
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
92
92
|
}, 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
93
|
}
|
|
94
|
-
return (_jsx("div", { "data-testid": "publish-status-indicator", children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, {
|
|
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
95
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxSingleCommandButton", onClick: () => {
|
|
96
96
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
97
97
|
}, children: command.name }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }) }));
|
|
@@ -100,16 +100,19 @@ export function WorkflowButton() {
|
|
|
100
100
|
const firstCommand = workflowCommands[0];
|
|
101
101
|
if (!firstCommand)
|
|
102
102
|
return null;
|
|
103
|
+
const splitButtonGroupHoverClass = currentWorkboxItem?.isFinalState
|
|
104
|
+
? "group-hover:!bg-feedback-green"
|
|
105
|
+
: "group-hover:!bg-highlight-100/80";
|
|
103
106
|
if (isMobile) {
|
|
104
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 &&
|
|
105
108
|
"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: () => {
|
|
106
109
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
107
110
|
}, children: command.name }, command.id))) })] }) }));
|
|
108
111
|
}
|
|
109
|
-
return (_jsxs("div", { className: "flex", "data-testid": "publish-status-indicator", children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, {
|
|
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 shadow-none !pr-2", splitButtonGroupHoverClass, currentWorkboxItem?.isFinalState &&
|
|
110
113
|
"bg-feedback-green hover:bg-feedback-green"), "data-testid": "WorkboxMultipleCommandsButton", onClick: () => {
|
|
111
114
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, firstCommand.id);
|
|
112
|
-
}, children: firstCommand.name }) }), _jsx(TooltipContent, { children: _jsx("div", { className: "whitespace-pre-line", children: getTooltipContent() }) })] }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, {
|
|
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]:!pl-2 has-[>svg]:!pr-3", splitButtonGroupHoverClass, currentWorkboxItem?.isFinalState &&
|
|
113
116
|
"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: () => {
|
|
114
117
|
editContext.operations.executeWorkflowCommand(editContext.currentItemDescriptor, command.id);
|
|
115
118
|
}, children: command.name }, command.id))) })] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowButton.js","sourceRoot":"","sources":["../../../src/editor/menubar/WorkflowButton.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WorkflowButton.js","sourceRoot":"","sources":["../../../src/editor/menubar/WorkflowButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,17 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { EyeIcon, Lightbulb, Pencil } from "lucide-react";
|
|
3
3
|
import { useEditContext } from "../../client/editContext";
|
|
4
4
|
import { SimpleIconButton } from "../../ui/SimpleIconButton";
|
|
5
|
+
import { shouldRemoveNoOpSuggestion } from "../../reviews/suggestionContentChange";
|
|
5
6
|
export function EditControls({ hideSuggestions, hideEdit, hidePreview, } = {}) {
|
|
6
7
|
const editContext = useEditContext();
|
|
7
8
|
if (!editContext)
|
|
8
9
|
return null;
|
|
9
|
-
// Calculate total count of comments and suggestions
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// Calculate total count of comments and suggestions. No-op suggestions
|
|
11
|
+
// without comments are hidden from the feedback sidebar, so they must not
|
|
12
|
+
// inflate the badge either.
|
|
13
|
+
const comments = editContext.comments || [];
|
|
14
|
+
const suggestionsCount = editContext.suggestedEdits?.filter((x) => x.status === "pending" &&
|
|
15
|
+
!shouldRemoveNoOpSuggestion(x.oldValue, x.newValue, () => comments.filter((c) => c.suggestedEditId === x.id).length)).length || 0;
|
|
12
16
|
const totalCount = suggestionsCount;
|
|
13
17
|
return (_jsxs(_Fragment, { children: [!hideEdit && !editContext.user?.isLimitedPreviewUser && (_jsx(SimpleIconButton, { icon: _jsx(Pencil, { className: "h-6 w-6 p-1", strokeWidth: 1 }), label: "Edit", size: "large", "data-testid": "edit-mode-button", selected: editContext.mode === "edit", onClick: () => void editContext.changeMode("edit", { reason: "toolbar" }) })), !hidePreview && (_jsx(SimpleIconButton, { icon: _jsx(EyeIcon, { className: "h-6 w-6 p-1", strokeWidth: 1 }), label: "Preview", showTooltip: false, size: "large", "data-testid": "preview-mode-button", selected: editContext.mode === "preview", onClick: () => void editContext.changeMode("preview", { reason: "toolbar" }) })), !hideSuggestions && (_jsx(SimpleIconButton, { className: "relative", selected: editContext?.mode === "suggestions", icon: _jsx(Lightbulb, { strokeWidth: 1, className: "h-6 w-6 p-1" }), label: "Write suggestions", size: "large", "data-testid": "suggestions-mode-button", onClick: () => {
|
|
14
18
|
void editContext?.changeMode("suggestions", { reason: "toolbar" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditControls.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/EditControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"EditControls.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/EditControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAQnF,MAAM,UAAU,YAAY,CAAC,EAC3B,eAAe,EACf,QAAQ,EACR,WAAW,MACU,EAAE;IACvB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,uEAAuE;IACvE,0EAA0E;IAC1E,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,gBAAgB,GACpB,WAAW,CAAC,cAAc,EAAE,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,0BAA0B,CACzB,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,QAAQ,EACV,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAChE,CACJ,CAAC,MAAM,IAAI,CAAC,CAAC;IAChB,MAAM,UAAU,GAAG,gBAAgB,CAAC;IAEpC,OAAO,CACL,8BACG,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,IAAI,CACvD,KAAC,gBAAgB,IACf,IAAI,EAAE,KAAC,MAAM,IAAC,SAAS,EAAC,aAAa,EAAC,WAAW,EAAE,CAAC,GAAI,EACxD,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,OAAO,iBACA,kBAAkB,EAC9B,QAAQ,EAAE,WAAW,CAAC,IAAI,KAAK,MAAM,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GACzE,CACH,EAEA,CAAC,WAAW,IAAI,CACf,KAAC,gBAAgB,IACf,IAAI,EAAE,KAAC,OAAO,IAAC,SAAS,EAAC,aAAa,EAAC,WAAW,EAAE,CAAC,GAAI,EACzD,KAAK,EAAC,SAAS,EACf,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,OAAO,iBACA,qBAAqB,EACjC,QAAQ,EAAE,WAAW,CAAC,IAAI,KAAK,SAAS,EACxC,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAE/D,CACH,EAEA,CAAC,eAAe,IAAI,CACnB,KAAC,gBAAgB,IACf,SAAS,EAAC,UAAU,EACpB,QAAQ,EAAE,WAAW,EAAE,IAAI,KAAK,aAAa,EAC7C,IAAI,EAAE,KAAC,SAAS,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,aAAa,GAAG,EAC3D,KAAK,EAAC,mBAAmB,EACzB,IAAI,EAAC,OAAO,iBACA,yBAAyB,EACrC,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,WAAW,EAAE,UAAU,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBACnE,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC,YAEA,UAAU,GAAG,CAAC,IAAI,CACjB,cACE,SAAS,EAAC,kJAAkJ,EAC5J,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iDAG9B,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GACjC,CACP,GACgB,CACpB,IACA,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -76,7 +76,10 @@ export function ViewportControls() {
|
|
|
76
76
|
const minimapEnabledInSettings = editContext.parheliaSettings?.showMinimap !== false;
|
|
77
77
|
const device = pageViewContext.device;
|
|
78
78
|
const commentsCount = editContext.comments?.filter((x) => !x.isResolved).length || 0;
|
|
79
|
-
const hasLayout =
|
|
79
|
+
const hasLayout = activeSlotContext.item?.hasLayout ??
|
|
80
|
+
editContext.item?.hasLayout ??
|
|
81
|
+
pageViewContext.page?.item?.hasLayout ??
|
|
82
|
+
false;
|
|
80
83
|
const canToggleEditorForm = editContext.workspaceId === "editor" && hasLayout;
|
|
81
84
|
const canToggleComponentNavigator = hasLayout;
|
|
82
85
|
const canToggleDiffHighlighting = hasLayout && !!device;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewportControls.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/ViewportControls.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ViewportControls.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/ViewportControls.tsx"],"names":[],"mappings":"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"}
|