@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
|
@@ -7,6 +7,7 @@ import { CommentHighlightings } from "../page-editor-chrome/CommentHighlightings
|
|
|
7
7
|
import { SuggestionHighlightings } from "../page-editor-chrome/SuggestionHighlightings";
|
|
8
8
|
import { VersionDiffHighlightings } from "../page-editor-chrome/VersionDiffHighlightings";
|
|
9
9
|
import { IframeOverlayProvider } from "../page-editor-chrome/overlay/IframeOverlayProvider";
|
|
10
|
+
import { getAllComponentInstances } from "../componentTreeHelper";
|
|
10
11
|
export const BRIDGE_DOM_UPDATED_EVENT = "parhelia:bridge-dom-updated";
|
|
11
12
|
export function MiniMap({ compareView, scroll, pageViewContext, }) {
|
|
12
13
|
const editContext = useEditContext();
|
|
@@ -20,7 +21,7 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
|
|
|
20
21
|
const viewport = pageViewContext.viewport;
|
|
21
22
|
const bridgeDom = pageViewContext.bridgeDom;
|
|
22
23
|
const bridgeMetrics = bridgeDom
|
|
23
|
-
? getBridgeMinimapMetrics(bridgeDom, viewport)
|
|
24
|
+
? getBridgeMinimapMetrics(bridgeDom, viewport, undefined, pageViewContext.bridgeGeometry)
|
|
24
25
|
: null;
|
|
25
26
|
const isBridgeMinimap = !!bridgeDom && !!bridgeMetrics;
|
|
26
27
|
const bridgeMinimapHtml = useMemo(() => bridgeDom
|
|
@@ -32,8 +33,14 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
|
|
|
32
33
|
viewport.width,
|
|
33
34
|
]);
|
|
34
35
|
const getDocumentMetrics = useCallback(() => {
|
|
35
|
-
return getBridgeMinimapMetrics(pageViewContext.bridgeDom, viewport, scroll);
|
|
36
|
-
}, [
|
|
36
|
+
return getBridgeMinimapMetrics(pageViewContext.bridgeDom, viewport, scroll, pageViewContext.bridgeGeometry);
|
|
37
|
+
}, [
|
|
38
|
+
bridgeDomRevision,
|
|
39
|
+
pageViewContext.bridgeDom,
|
|
40
|
+
pageViewContext.bridgeGeometry,
|
|
41
|
+
scroll,
|
|
42
|
+
viewport,
|
|
43
|
+
]);
|
|
37
44
|
const minimapMetrics = getDocumentMetrics();
|
|
38
45
|
const calcAndUpdateScale = () => {
|
|
39
46
|
const minimapHeight = minimapContainerRef.current?.clientHeight;
|
|
@@ -88,6 +95,7 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
|
|
|
88
95
|
pageViewContext.deviceHeight,
|
|
89
96
|
pageViewContext.deviceWidth,
|
|
90
97
|
pageViewContext.bridgeDom,
|
|
98
|
+
pageViewContext.bridgeGeometry,
|
|
91
99
|
bridgeDomRevision,
|
|
92
100
|
]);
|
|
93
101
|
const scrollDocumentTo = (y) => {
|
|
@@ -171,15 +179,16 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
|
|
|
171
179
|
} }) }) }) }), _jsx("div", { "aria-hidden": "true", className: "absolute inset-0" }), viewportHighlight && minimapReady && (_jsx("div", { "data-testid": "minimap-viewport-highlight", className: "bg-neutral-grey-10 pointer-events-none absolute w-full opacity-60 hover:opacity-65", style: {
|
|
172
180
|
top: viewportHighlight.top + "px",
|
|
173
181
|
height: viewportHighlight.height + "px",
|
|
174
|
-
} })), iframeRef.current && (_jsxs(IframeOverlayProvider, { iframe: iframeRef.current, mode: "static", scrollScale: 1, visualScale: scale, children: [editContext.mode === "edit" && (_jsx(PlaceholderDropZones, { size: "small", pageViewContext: pageViewContext })), _jsx(FieldEditedIndicators, { pageViewContext: pageViewContext }), editContext.showComments && (_jsx(CommentHighlightings, { pageViewContext: pageViewContext, variant: "minimap" })), editContext.showSuggestedEdits && (_jsx(SuggestionHighlightings, { pageViewContext: pageViewContext, variant: "minimap" })), editContext.showVersionDiffHighlighting && !compareView && (_jsx(VersionDiffHighlightings, { pageViewContext: pageViewContext, variant: "minimap" }))] }))] }));
|
|
182
|
+
} })), iframeRef.current && (_jsxs(IframeOverlayProvider, { iframe: iframeRef.current, mode: "static", scrollScale: 1, visualScale: scale, children: [editContext.mode === "edit" && (_jsx(PlaceholderDropZones, { size: "small", pageViewContext: pageViewContext })), _jsx(FieldEditedIndicators, { pageViewContext: pageViewContext }), editContext.showComments && (_jsx(CommentHighlightings, { pageViewContext: pageViewContext, variant: "minimap" })), editContext.showSuggestedEdits && (_jsx(SuggestionHighlightings, { pageViewContext: pageViewContext, variant: "minimap" })), editContext.showVersionDiffHighlighting && !compareView && (_jsx(VersionDiffHighlightings, { pageViewContext: pageViewContext, variant: "minimap" }))] })), _jsx(MiniMapSelectionHighlights, { pageViewContext: pageViewContext, scale: scale })] }));
|
|
175
183
|
}
|
|
176
|
-
function getBridgeMinimapMetrics(snapshot, fallbackViewport, scrollOverride) {
|
|
184
|
+
export function getBridgeMinimapMetrics(snapshot, fallbackViewport, scrollOverride, geometry) {
|
|
177
185
|
if (!snapshot)
|
|
178
186
|
return null;
|
|
187
|
+
const scrollScale = getBridgeMinimapScrollScale(geometry);
|
|
179
188
|
const viewportWidth = snapshot.viewport.width || fallbackViewport.width || 0;
|
|
180
189
|
const viewportHeight = snapshot.viewport.height || fallbackViewport.height || 0;
|
|
181
190
|
const scrollTop = Math.max(0, scrollOverride ?? snapshot.scroll?.y ?? 0);
|
|
182
|
-
const documentHeight = Math.max(viewportHeight, scrollTop + viewportHeight, snapshot.scrollHeight || 0);
|
|
191
|
+
const documentHeight = Math.max(viewportHeight, scrollTop + viewportHeight, snapshot.scrollHeight || 0, getBridgeGeometryDocumentHeight(geometry) / scrollScale);
|
|
183
192
|
if (!viewportWidth || !documentHeight)
|
|
184
193
|
return null;
|
|
185
194
|
return {
|
|
@@ -187,9 +196,10 @@ function getBridgeMinimapMetrics(snapshot, fallbackViewport, scrollOverride) {
|
|
|
187
196
|
viewportHeight,
|
|
188
197
|
documentHeight,
|
|
189
198
|
scrollTop,
|
|
199
|
+
scrollScale,
|
|
190
200
|
};
|
|
191
201
|
}
|
|
192
|
-
function getMinimapViewportHighlight(metrics, scale) {
|
|
202
|
+
export function getMinimapViewportHighlight(metrics, scale) {
|
|
193
203
|
const scaledDocumentHeight = metrics.documentHeight * scale;
|
|
194
204
|
const viewportHeight = Math.min(metrics.viewportHeight, metrics.documentHeight);
|
|
195
205
|
const maxScrollTop = Math.max(0, metrics.documentHeight - viewportHeight);
|
|
@@ -197,11 +207,72 @@ function getMinimapViewportHighlight(metrics, scale) {
|
|
|
197
207
|
const height = Math.min(viewportHeight * scale, Math.max(0, scaledDocumentHeight - top));
|
|
198
208
|
return { top, height };
|
|
199
209
|
}
|
|
210
|
+
export function getMiniMapSelectionRects(selection, page, geometry, scale) {
|
|
211
|
+
if (!selection?.length || !page || !geometry)
|
|
212
|
+
return [];
|
|
213
|
+
return getSelectedMiniMapComponents(selection, page)
|
|
214
|
+
.map((component) => getMiniMapComponentRect(component, geometry, scale))
|
|
215
|
+
.filter((rect) => !!rect);
|
|
216
|
+
}
|
|
217
|
+
function MiniMapSelectionHighlights({ pageViewContext, scale, }) {
|
|
218
|
+
const editContext = useEditContext();
|
|
219
|
+
const selectionRects = useMemo(() => getMiniMapSelectionRects(editContext?.selection, pageViewContext.page, pageViewContext.bridgeGeometry, scale), [
|
|
220
|
+
editContext?.selection,
|
|
221
|
+
pageViewContext.page,
|
|
222
|
+
pageViewContext.bridgeGeometry,
|
|
223
|
+
scale,
|
|
224
|
+
]);
|
|
225
|
+
if (selectionRects.length === 0)
|
|
226
|
+
return null;
|
|
227
|
+
return (_jsx("div", { "aria-hidden": "true", className: "pointer-events-none absolute inset-0 z-20", "data-testid": "minimap-selection-highlights", children: selectionRects.map((rect, index) => (_jsx("div", { className: "absolute", "data-testid": "minimap-selection-highlight", style: {
|
|
228
|
+
border: "2px solid var(--color-component-default)",
|
|
229
|
+
boxSizing: "border-box",
|
|
230
|
+
height: Math.max(4, rect.height),
|
|
231
|
+
left: rect.x,
|
|
232
|
+
top: rect.y,
|
|
233
|
+
width: Math.max(4, rect.width),
|
|
234
|
+
} }, index))) }));
|
|
235
|
+
}
|
|
236
|
+
function getSelectedMiniMapComponents(selection, page) {
|
|
237
|
+
const uniqueById = new Map();
|
|
238
|
+
for (const id of selection) {
|
|
239
|
+
for (const component of getAllComponentInstances(id, page)) {
|
|
240
|
+
if (!uniqueById.has(component.id)) {
|
|
241
|
+
uniqueById.set(component.id, component);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return Array.from(uniqueById.values());
|
|
246
|
+
}
|
|
247
|
+
function getMiniMapComponentRect(component, geometry, scale) {
|
|
248
|
+
const componentId = normalizeBridgeKey(component.id);
|
|
249
|
+
const target = geometry.targets.find((candidate) => {
|
|
250
|
+
if (candidate.kind !== "component")
|
|
251
|
+
return false;
|
|
252
|
+
return (normalizeBridgeKey(candidate.componentId) === componentId ||
|
|
253
|
+
normalizeBridgeKey(candidate.key) === componentId);
|
|
254
|
+
});
|
|
255
|
+
if (!target?.rect || (target.rect.width <= 0 && target.rect.height <= 0)) {
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
const rectScale = getBridgeMinimapRectScale(geometry);
|
|
259
|
+
const scrollScale = getBridgeMinimapScrollScale(geometry);
|
|
260
|
+
const minimapScale = scale / scrollScale;
|
|
261
|
+
return {
|
|
262
|
+
x: (target.rect.left * rectScale + geometry.scroll.x * scrollScale) *
|
|
263
|
+
minimapScale,
|
|
264
|
+
y: (target.rect.top * rectScale + geometry.scroll.y * scrollScale) *
|
|
265
|
+
minimapScale,
|
|
266
|
+
width: target.rect.width * rectScale * minimapScale,
|
|
267
|
+
height: target.rect.height * rectScale * minimapScale,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
200
270
|
function createBridgeMinimapHtml(html, geometry, viewportWidth) {
|
|
201
271
|
if (typeof DOMParser === "undefined")
|
|
202
272
|
return html;
|
|
203
273
|
try {
|
|
204
274
|
const doc = new DOMParser().parseFromString(html, "text/html");
|
|
275
|
+
neutralizeBridgeMinimapZoom(doc);
|
|
205
276
|
constrainBridgeMinimapWidth(doc, viewportWidth);
|
|
206
277
|
if (geometry) {
|
|
207
278
|
bakeBridgeGeometryDimensions(doc, geometry);
|
|
@@ -212,6 +283,36 @@ function createBridgeMinimapHtml(html, geometry, viewportWidth) {
|
|
|
212
283
|
return html;
|
|
213
284
|
}
|
|
214
285
|
}
|
|
286
|
+
function getBridgeMinimapScrollScale(geometry) {
|
|
287
|
+
return typeof geometry?.scrollScale === "number" &&
|
|
288
|
+
Number.isFinite(geometry.scrollScale) &&
|
|
289
|
+
geometry.scrollScale > 0
|
|
290
|
+
? geometry.scrollScale
|
|
291
|
+
: 1;
|
|
292
|
+
}
|
|
293
|
+
function getBridgeMinimapRectScale(geometry) {
|
|
294
|
+
return typeof geometry?.rectScale === "number" &&
|
|
295
|
+
Number.isFinite(geometry.rectScale) &&
|
|
296
|
+
geometry.rectScale > 0
|
|
297
|
+
? geometry.rectScale
|
|
298
|
+
: 1;
|
|
299
|
+
}
|
|
300
|
+
function getBridgeGeometryDocumentHeight(geometry) {
|
|
301
|
+
if (!geometry)
|
|
302
|
+
return 0;
|
|
303
|
+
const rectScale = getBridgeMinimapRectScale(geometry);
|
|
304
|
+
const scrollScale = getBridgeMinimapScrollScale(geometry);
|
|
305
|
+
return Math.max(geometry.viewport.height || 0, ...geometry.targets.map((target) => target.rect.bottom * rectScale + geometry.scroll.y * scrollScale));
|
|
306
|
+
}
|
|
307
|
+
function neutralizeBridgeMinimapZoom(doc) {
|
|
308
|
+
const root = doc.documentElement;
|
|
309
|
+
if (!root)
|
|
310
|
+
return;
|
|
311
|
+
root.style.removeProperty("zoom");
|
|
312
|
+
root.style.removeProperty("transform");
|
|
313
|
+
root.style.removeProperty("transform-origin");
|
|
314
|
+
root.style.removeProperty("will-change");
|
|
315
|
+
}
|
|
215
316
|
function constrainBridgeMinimapWidth(doc, viewportWidth) {
|
|
216
317
|
if (!viewportWidth || viewportWidth <= 0)
|
|
217
318
|
return;
|
|
@@ -225,6 +326,7 @@ function constrainBridgeMinimapWidth(doc, viewportWidth) {
|
|
|
225
326
|
});
|
|
226
327
|
}
|
|
227
328
|
function bakeBridgeGeometryDimensions(doc, geometry) {
|
|
329
|
+
const rectScale = getBridgeMinimapRectScale(geometry);
|
|
228
330
|
const keyedElements = Array.from(doc.querySelectorAll("[data-parhelia-element-key]"));
|
|
229
331
|
const componentElements = Array.from(doc.querySelectorAll("[data-component-id], [data-component-start], [data-renderingid], [data-rendering-id]"));
|
|
230
332
|
const fieldElements = Array.from(doc.querySelectorAll("[data-fieldid]"));
|
|
@@ -254,12 +356,12 @@ function bakeBridgeGeometryDimensions(doc, geometry) {
|
|
|
254
356
|
if (target.kind === "field" || target.kind === "textRange")
|
|
255
357
|
return;
|
|
256
358
|
if (target.rect.width > 0) {
|
|
257
|
-
element.style.setProperty("width", `${target.rect.width}px`, "important");
|
|
258
|
-
element.style.setProperty("min-width", `${target.rect.width}px`, "important");
|
|
359
|
+
element.style.setProperty("width", `${target.rect.width * rectScale}px`, "important");
|
|
360
|
+
element.style.setProperty("min-width", `${target.rect.width * rectScale}px`, "important");
|
|
259
361
|
}
|
|
260
362
|
if (target.rect.height > 0) {
|
|
261
|
-
element.style.setProperty("height", `${target.rect.height}px`, "important");
|
|
262
|
-
element.style.setProperty("min-height", `${target.rect.height}px`, "important");
|
|
363
|
+
element.style.setProperty("height", `${target.rect.height * rectScale}px`, "important");
|
|
364
|
+
element.style.setProperty("min-height", `${target.rect.height * rectScale}px`, "important");
|
|
263
365
|
}
|
|
264
366
|
});
|
|
265
367
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiniMap.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/MiniMap.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MiniMap.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/MiniMap.tsx"],"names":[],"mappings":"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"}
|
|
@@ -48,12 +48,13 @@ function getBridgeGeometryScrollScale(geometry) {
|
|
|
48
48
|
? geometry.scrollScale
|
|
49
49
|
: 1;
|
|
50
50
|
}
|
|
51
|
-
function dispatchBridgeOverlayGeometry(iframe, geometry) {
|
|
51
|
+
function dispatchBridgeOverlayGeometry(iframe, geometry, scrollOverride) {
|
|
52
52
|
const documentSize = getBridgeGeometryDocumentSize(geometry);
|
|
53
53
|
const scrollScale = getBridgeGeometryScrollScale(geometry);
|
|
54
|
+
const scroll = scrollOverride ?? geometry?.scroll;
|
|
54
55
|
const detail = {
|
|
55
|
-
scrollLeft: (
|
|
56
|
-
scrollTop: (
|
|
56
|
+
scrollLeft: (scroll?.x ?? 0) * scrollScale,
|
|
57
|
+
scrollTop: (scroll?.y ?? 0) * scrollScale,
|
|
57
58
|
viewportWidth: geometry?.viewport.width,
|
|
58
59
|
viewportHeight: geometry?.viewport.height,
|
|
59
60
|
scrollWidth: documentSize?.width,
|
|
@@ -146,6 +147,15 @@ function scrollBridgeBoundsIntoView(pageViewContext, bounds, currentScroll) {
|
|
|
146
147
|
behavior: "smooth",
|
|
147
148
|
}) ?? false);
|
|
148
149
|
}
|
|
150
|
+
function getAccessibleIframeDocument(iframe) {
|
|
151
|
+
try {
|
|
152
|
+
return iframe?.contentDocument ?? null;
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// Cross-origin hosts expose a WindowProxy whose document access throws.
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
149
159
|
function getIframeWindowScroll(iframe) {
|
|
150
160
|
try {
|
|
151
161
|
const win = iframe?.contentWindow;
|
|
@@ -368,6 +378,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
368
378
|
const bridgeTextRangeSourcesRef = useRef(new Map());
|
|
369
379
|
const activeBridgeInlineEditRef = useRef(null);
|
|
370
380
|
const latestBridgeScrollRef = useRef(undefined);
|
|
381
|
+
const directOverlayScrollSyncRef = useRef(false);
|
|
371
382
|
const pendingRefreshScrollRef = useRef(undefined);
|
|
372
383
|
const suppressNextSelectionScrollRef = useRef(false);
|
|
373
384
|
// Tracks the selection we last evaluated for auto-scroll. The selection
|
|
@@ -1170,6 +1181,60 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1170
1181
|
useEffect(() => {
|
|
1171
1182
|
pageViewContext.setEditorIframe(iframeElement);
|
|
1172
1183
|
}, [iframeElement, pageViewContext.setEditorIframe]);
|
|
1184
|
+
// Same-origin fast path for overlay scroll tracking. The bridge's
|
|
1185
|
+
// scrollChanged postMessage is delivered as a task after the host's
|
|
1186
|
+
// rendering update, so overlays driven by it paint at least one frame
|
|
1187
|
+
// behind the page. When the host document is same-origin we can observe its
|
|
1188
|
+
// scroll directly and translate the overlay layer synchronously inside the
|
|
1189
|
+
// scroll event, which paints in the same frame. The bridge remains the only
|
|
1190
|
+
// channel for cross-origin hosts and for everything besides scroll.
|
|
1191
|
+
useEffect(() => {
|
|
1192
|
+
const iframe = iframeElement;
|
|
1193
|
+
if (!iframe)
|
|
1194
|
+
return;
|
|
1195
|
+
let detach;
|
|
1196
|
+
const attach = () => {
|
|
1197
|
+
detach?.();
|
|
1198
|
+
detach = undefined;
|
|
1199
|
+
directOverlayScrollSyncRef.current = false;
|
|
1200
|
+
const iframeDocument = getAccessibleIframeDocument(iframe);
|
|
1201
|
+
// The pre-load document is an accessible about:blank even when the
|
|
1202
|
+
// host that commits afterwards is cross-origin. Binding to it would
|
|
1203
|
+
// suppress the bridge path while the real host streams in, so wait for
|
|
1204
|
+
// the load rebind instead.
|
|
1205
|
+
if (!iframeDocument || iframeDocument.URL === "about:blank")
|
|
1206
|
+
return;
|
|
1207
|
+
let lastX = Number.NaN;
|
|
1208
|
+
let lastY = Number.NaN;
|
|
1209
|
+
const handleScroll = () => {
|
|
1210
|
+
const scroll = getIframeWindowScroll(iframe);
|
|
1211
|
+
if (!scroll || (scroll.x === lastX && scroll.y === lastY))
|
|
1212
|
+
return;
|
|
1213
|
+
lastX = scroll.x;
|
|
1214
|
+
lastY = scroll.y;
|
|
1215
|
+
dispatchBridgeOverlayScroll(iframe, scroll, getBridgeGeometryScrollScale(pageViewContextRef.current?.bridgeGeometry));
|
|
1216
|
+
};
|
|
1217
|
+
iframeDocument.addEventListener("scroll", handleScroll, {
|
|
1218
|
+
capture: true,
|
|
1219
|
+
passive: true,
|
|
1220
|
+
});
|
|
1221
|
+
directOverlayScrollSyncRef.current = true;
|
|
1222
|
+
detach = () => {
|
|
1223
|
+
directOverlayScrollSyncRef.current = false;
|
|
1224
|
+
iframeDocument.removeEventListener("scroll", handleScroll, {
|
|
1225
|
+
capture: true,
|
|
1226
|
+
});
|
|
1227
|
+
};
|
|
1228
|
+
};
|
|
1229
|
+
attach();
|
|
1230
|
+
// Each navigation creates a new host document, so rebind per load.
|
|
1231
|
+
iframe.addEventListener("load", attach);
|
|
1232
|
+
return () => {
|
|
1233
|
+
iframe.removeEventListener("load", attach);
|
|
1234
|
+
detach?.();
|
|
1235
|
+
directOverlayScrollSyncRef.current = false;
|
|
1236
|
+
};
|
|
1237
|
+
}, [iframeElement, loadedIframeSrc]);
|
|
1173
1238
|
useEffect(() => {
|
|
1174
1239
|
const iframe = iframeElement;
|
|
1175
1240
|
if (!iframe)
|
|
@@ -1191,24 +1256,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1191
1256
|
pageViewContext.setIframeSupportsRefresh(false);
|
|
1192
1257
|
return;
|
|
1193
1258
|
}
|
|
1194
|
-
// The canonical bridge is served from the editor's own origin. A stub
|
|
1195
|
-
// bootloader on the host loads it from this URL; full-bridge hosts ignore
|
|
1196
|
-
// it. Editor shells deploy under different base paths (e.g. dev-vite under
|
|
1197
|
-
// `/parhelia/` in Sitecore), so each app advertises its own served location
|
|
1198
|
-
// via `window.__PARHELIA_EDITOR_BRIDGE_URL__`. If that global is missing,
|
|
1199
|
-
// infer the known `/parhelia` mount from the current editor URL.
|
|
1200
|
-
const configuredEditorBridgeUrl = window.__PARHELIA_EDITOR_BRIDGE_URL__;
|
|
1201
|
-
const editorBasePath = window.location.pathname.startsWith("/parhelia")
|
|
1202
|
-
? "/parhelia"
|
|
1203
|
-
: "";
|
|
1204
|
-
const editorBridgeUrl = configuredEditorBridgeUrl ||
|
|
1205
|
-
new URL(`${editorBasePath}/editor-bridge/v1/parhelia-bridge.js`, window.location.origin).toString();
|
|
1206
1259
|
let client;
|
|
1207
1260
|
client = new BridgeClient({
|
|
1208
1261
|
iframe,
|
|
1209
1262
|
editorOrigin: window.location.origin,
|
|
1210
1263
|
allowedHostOrigins,
|
|
1211
|
-
bridgeUrl: editorBridgeUrl,
|
|
1212
1264
|
onReadyChange: (ready) => {
|
|
1213
1265
|
pageViewContext.setBridgeReady(ready);
|
|
1214
1266
|
if (!ready)
|
|
@@ -1251,17 +1303,23 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1251
1303
|
case "pageSkeletonUpdated":
|
|
1252
1304
|
pageViewContext.setPageSkeleton(event.payload.pageSkeleton);
|
|
1253
1305
|
break;
|
|
1254
|
-
case "geometryUpdated":
|
|
1306
|
+
case "geometryUpdated": {
|
|
1255
1307
|
latestBridgeScrollRef.current = event.payload.geometry.scroll;
|
|
1256
1308
|
pageViewContext.bridgeGeometry = event.payload.geometry;
|
|
1257
1309
|
pageViewContext.setBridgeGeometry(event.payload.geometry);
|
|
1258
1310
|
scheduleBridgeGeometryRevision();
|
|
1259
|
-
|
|
1260
|
-
|
|
1311
|
+
// The snapshot's scroll can be a frame older than what the direct
|
|
1312
|
+
// same-origin listener already applied; prefer the live position.
|
|
1313
|
+
const overlayScroll = (directOverlayScrollSyncRef.current
|
|
1314
|
+
? getIframeWindowScroll(iframe)
|
|
1315
|
+
: undefined) ?? event.payload.geometry.scroll;
|
|
1316
|
+
dispatchBridgeOverlayScroll(iframe, overlayScroll, getBridgeGeometryScrollScale(event.payload.geometry));
|
|
1317
|
+
dispatchBridgeOverlayGeometry(iframe, event.payload.geometry, overlayScroll);
|
|
1261
1318
|
if (shouldTrackMinimapScroll()) {
|
|
1262
1319
|
scrollHandlerRef.current(event.payload.geometry.scroll.y);
|
|
1263
1320
|
}
|
|
1264
1321
|
break;
|
|
1322
|
+
}
|
|
1265
1323
|
case "domUpdated":
|
|
1266
1324
|
pageViewContext.bridgeDom = event.payload;
|
|
1267
1325
|
pageViewContext.setBridgeDom(event.payload);
|
|
@@ -1286,8 +1344,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1286
1344
|
pageViewContext.bridgeGeometry = event.payload.geometry;
|
|
1287
1345
|
pageViewContext.setBridgeGeometry(event.payload.geometry);
|
|
1288
1346
|
scheduleBridgeGeometryRevision();
|
|
1289
|
-
|
|
1290
|
-
|
|
1347
|
+
const overlayScroll = (directOverlayScrollSyncRef.current
|
|
1348
|
+
? getIframeWindowScroll(iframe)
|
|
1349
|
+
: undefined) ?? event.payload.geometry.scroll;
|
|
1350
|
+
dispatchBridgeOverlayScroll(iframe, overlayScroll, getBridgeGeometryScrollScale(event.payload.geometry));
|
|
1351
|
+
dispatchBridgeOverlayGeometry(iframe, event.payload.geometry, overlayScroll);
|
|
1291
1352
|
if (shouldTrackMinimapScroll()) {
|
|
1292
1353
|
scrollHandlerRef.current(event.payload.geometry.scroll.y);
|
|
1293
1354
|
}
|
|
@@ -1329,7 +1390,12 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1329
1390
|
break;
|
|
1330
1391
|
case "scrollChanged":
|
|
1331
1392
|
latestBridgeScrollRef.current = event.payload.scroll;
|
|
1332
|
-
|
|
1393
|
+
// With the direct same-origin listener active, this message is a
|
|
1394
|
+
// late echo of a scroll the overlay already applied; re-dispatching
|
|
1395
|
+
// it would briefly drag the overlay back to a stale position.
|
|
1396
|
+
if (!directOverlayScrollSyncRef.current) {
|
|
1397
|
+
dispatchBridgeOverlayScroll(iframe, event.payload.scroll, getBridgeGeometryScrollScale(pageViewContextRef.current?.bridgeGeometry));
|
|
1398
|
+
}
|
|
1333
1399
|
if (shouldTrackMinimapScroll()) {
|
|
1334
1400
|
scrollHandlerRef.current(event.payload.scroll.y);
|
|
1335
1401
|
}
|