@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.
Files changed (246) hide show
  1. package/dist/agents-view/AgentCard.d.ts +2 -1
  2. package/dist/agents-view/AgentCard.js +16 -35
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentGalleryCard.d.ts +12 -0
  5. package/dist/agents-view/AgentGalleryCard.js +13 -0
  6. package/dist/agents-view/AgentGalleryCard.js.map +1 -0
  7. package/dist/agents-view/AgentGalleryView.d.ts +18 -0
  8. package/dist/agents-view/AgentGalleryView.js +88 -0
  9. package/dist/agents-view/AgentGalleryView.js.map +1 -0
  10. package/dist/agents-view/AgentsView.js +39 -11
  11. package/dist/agents-view/AgentsView.js.map +1 -1
  12. package/dist/agents-view/AgentsWorkspaceView.js +40 -21
  13. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  14. package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
  15. package/dist/agents-view/DateAgentsGroup.js +2 -2
  16. package/dist/agents-view/DateAgentsGroup.js.map +1 -1
  17. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
  18. package/dist/agents-view/ProfileAgentsGroup.js +5 -5
  19. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  20. package/dist/agents-view/RenameAgentDialog.d.ts +12 -0
  21. package/dist/agents-view/RenameAgentDialog.js +40 -0
  22. package/dist/agents-view/RenameAgentDialog.js.map +1 -0
  23. package/dist/components/FilterInput.d.ts +2 -0
  24. package/dist/components/FilterInput.js +4 -2
  25. package/dist/components/FilterInput.js.map +1 -1
  26. package/dist/components/ui/alert-dialog.d.ts +1 -1
  27. package/dist/components/ui/alert-dialog.js +5 -5
  28. package/dist/components/ui/alert-dialog.js.map +1 -1
  29. package/dist/components/ui/alert.d.ts +3 -2
  30. package/dist/components/ui/alert.js +9 -4
  31. package/dist/components/ui/alert.js.map +1 -1
  32. package/dist/components/ui/badge.d.ts +1 -1
  33. package/dist/components/ui/button.d.ts +9 -4
  34. package/dist/components/ui/button.js +16 -9
  35. package/dist/components/ui/button.js.map +1 -1
  36. package/dist/components/ui/dialog.d.ts +1 -1
  37. package/dist/components/ui/dialog.js +4 -3
  38. package/dist/components/ui/dialog.js.map +1 -1
  39. package/dist/components/ui/styled-dialog-title.js +1 -1
  40. package/dist/components/ui/styled-dialog-title.js.map +1 -1
  41. package/dist/editor/FieldListField.js +6 -2
  42. package/dist/editor/FieldListField.js.map +1 -1
  43. package/dist/editor/GlobalMenuBar.js +2 -1
  44. package/dist/editor/GlobalMenuBar.js.map +1 -1
  45. package/dist/editor/LinkEditorDialog.js +3 -3
  46. package/dist/editor/LinkEditorDialog.js.map +1 -1
  47. package/dist/editor/ai/AgentInlineDialogContent.js +1 -1
  48. package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
  49. package/dist/editor/ai/Agents.js +2 -2
  50. package/dist/editor/ai/Agents.js.map +1 -1
  51. package/dist/editor/ai/InlineAiDialog.js +1 -1
  52. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  53. package/dist/editor/ai/dialogs/QuestionnaireInline.js +52 -82
  54. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  55. package/dist/editor/ai/terminal/agentQuestionnaireRecap.d.ts +82 -0
  56. package/dist/editor/ai/terminal/agentQuestionnaireRecap.js +277 -0
  57. package/dist/editor/ai/terminal/agentQuestionnaireRecap.js.map +1 -0
  58. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +3 -0
  59. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +3 -3
  60. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -1
  61. package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +5 -0
  62. package/dist/editor/ai/terminal/agentSessionLiveTotals.js +14 -0
  63. package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
  64. package/dist/editor/ai/terminal/agentSessionSnapshot.js +2 -0
  65. package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
  66. package/dist/editor/ai/terminal/components/AgentGreeting.js +5 -2
  67. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  68. package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +12 -0
  69. package/dist/editor/ai/terminal/components/AgentProjectProgress.js +207 -0
  70. package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -0
  71. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +4 -3
  72. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +4 -19
  73. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  74. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
  75. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +33 -2
  76. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  77. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -0
  78. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +20 -1
  79. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  80. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
  81. package/dist/editor/ai/terminal/components/AgentTerminalView.js +11 -2
  82. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  83. package/dist/editor/ai/terminal/components/AiResponseMessage.js +59 -7
  84. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  85. package/dist/editor/ai/terminal/components/QuestionnaireRecap.d.ts +9 -0
  86. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +56 -0
  87. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -0
  88. package/dist/editor/ai/terminal/contextBreakdown.d.ts +17 -0
  89. package/dist/editor/ai/terminal/contextBreakdown.js +58 -0
  90. package/dist/editor/ai/terminal/contextBreakdown.js.map +1 -0
  91. package/dist/editor/ai/terminal/types.d.ts +2 -0
  92. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +29 -0
  93. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +68 -0
  94. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -0
  95. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +8 -3
  96. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -1
  97. package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +10 -3
  98. package/dist/editor/ai/terminal/useAgentInlineDialogState.js +33 -4
  99. package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -1
  100. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +16 -2
  101. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
  102. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +3 -1
  103. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  104. package/dist/editor/ai/terminal/useAgentSession.js +12 -1
  105. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
  106. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +3 -0
  107. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +6 -1
  108. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
  109. package/dist/editor/ai/terminal/useAgentTerminalController.js +48 -4
  110. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  111. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
  112. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
  113. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  114. package/dist/editor/ai/terminal/useAgentToolCallHandler.js +13 -1
  115. package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
  116. package/dist/editor/ai/terminal/useAgentToolResultHandler.js +31 -7
  117. package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
  118. package/dist/editor/bridge/BridgeClient.d.ts +1 -8
  119. package/dist/editor/bridge/BridgeClient.js +2 -4
  120. package/dist/editor/bridge/BridgeClient.js.map +1 -1
  121. package/dist/editor/bridge/protocol.d.ts +517 -0
  122. package/dist/editor/bridge/protocol.js +188 -0
  123. package/dist/editor/bridge/protocol.js.map +1 -0
  124. package/dist/editor/client/AboutDialog.js +15 -4
  125. package/dist/editor/client/AboutDialog.js.map +1 -1
  126. package/dist/editor/client/EditorShell.js +36 -6
  127. package/dist/editor/client/EditorShell.js.map +1 -1
  128. package/dist/editor/client/editContext.d.ts +6 -0
  129. package/dist/editor/client/editContext.js.map +1 -1
  130. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +3 -0
  131. package/dist/editor/client/hooks/useSocketMessageHandler.js +57 -25
  132. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  133. package/dist/editor/client/hooks/useWorkbox.d.ts +1 -0
  134. package/dist/editor/client/hooks/useWorkbox.js +14 -1
  135. package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
  136. package/dist/editor/client/operationToasts.d.ts +2 -0
  137. package/dist/editor/client/operationToasts.js +35 -0
  138. package/dist/editor/client/operationToasts.js.map +1 -0
  139. package/dist/editor/client/operations.d.ts +4 -0
  140. package/dist/editor/client/operations.js +134 -74
  141. package/dist/editor/client/operations.js.map +1 -1
  142. package/dist/editor/client/waitForEditOperationTerminal.d.ts +1 -0
  143. package/dist/editor/client/waitForEditOperationTerminal.js +1 -1
  144. package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
  145. package/dist/editor/commands/itemCommands.js +5 -16
  146. package/dist/editor/commands/itemCommands.js.map +1 -1
  147. package/dist/editor/field-types/CheckboxEditor.js +3 -1
  148. package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
  149. package/dist/editor/field-types/MultiLineText.js +24 -7
  150. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  151. package/dist/editor/field-types/SingleLineText.js +19 -2
  152. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  153. package/dist/editor/field-types/useTextCompletion.d.ts +20 -0
  154. package/dist/editor/field-types/useTextCompletion.js +166 -0
  155. package/dist/editor/field-types/useTextCompletion.js.map +1 -0
  156. package/dist/editor/menubar/OperationsIndicator.d.ts +7 -0
  157. package/dist/editor/menubar/OperationsIndicator.js +87 -0
  158. package/dist/editor/menubar/OperationsIndicator.js.map +1 -0
  159. package/dist/editor/menubar/ToolbarFactory.js +4 -1
  160. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  161. package/dist/editor/menubar/WorkflowButton.js +7 -4
  162. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  163. package/dist/editor/menubar/toolbar-sections/EditControls.js +7 -3
  164. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  165. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +4 -1
  166. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  167. package/dist/editor/notifications/NotificationCenter.js +28 -27
  168. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  169. package/dist/editor/notifications/NotificationItem.js +99 -15
  170. package/dist/editor/notifications/NotificationItem.js.map +1 -1
  171. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +1 -1
  172. package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
  173. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -1
  174. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  175. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +3 -10
  176. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  177. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +2 -2
  178. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
  179. package/dist/editor/page-viewer/MiniMap.d.ts +21 -0
  180. package/dist/editor/page-viewer/MiniMap.js +113 -11
  181. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  182. package/dist/editor/page-viewer/PageViewerFrame.js +88 -22
  183. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  184. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +1 -2
  185. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  186. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -1
  187. package/dist/editor/reviews/DecisionsMatrix.js +5 -1
  188. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  189. package/dist/editor/reviews/SuggestedEdit.js +12 -2
  190. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  191. package/dist/editor/reviews/latestFeedbackData.js +7 -1
  192. package/dist/editor/reviews/latestFeedbackData.js.map +1 -1
  193. package/dist/editor/reviews/suggestedEditState.d.ts +2 -0
  194. package/dist/editor/reviews/suggestedEditState.js +20 -0
  195. package/dist/editor/reviews/suggestedEditState.js.map +1 -1
  196. package/dist/editor/reviews/suggestionContentChange.d.ts +1 -1
  197. package/dist/editor/reviews/suggestionContentChange.js +23 -3
  198. package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
  199. package/dist/editor/services/agentService.d.ts +6 -0
  200. package/dist/editor/services/agentService.js +14 -0
  201. package/dist/editor/services/agentService.js.map +1 -1
  202. package/dist/editor/services/aiService.d.ts +5 -0
  203. package/dist/editor/services/aiService.js.map +1 -1
  204. package/dist/editor/settings/About.js +1 -1
  205. package/dist/editor/settings/About.js.map +1 -1
  206. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -0
  207. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  208. package/dist/editor/settings/panels/AgentToolsPanel.js +61 -33
  209. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  210. package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
  211. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  212. package/dist/editor/settings/panels/StatusPanel.js +10 -7
  213. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  214. package/dist/editor/sidebar/Completions.js +1 -1
  215. package/dist/editor/sidebar/Completions.js.map +1 -1
  216. package/dist/editor/sidebar/ComponentTree.js +1 -1
  217. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  218. package/dist/editor/sidebar/OperationItem.js +1 -1
  219. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  220. package/dist/editor/sidebar/Workbox.js +18 -4
  221. package/dist/editor/sidebar/Workbox.js.map +1 -1
  222. package/dist/editor/ui/DialogButtons.d.ts +3 -1
  223. package/dist/editor/ui/DialogButtons.js +3 -2
  224. package/dist/editor/ui/DialogButtons.js.map +1 -1
  225. package/dist/editor/ui/ItemCollectionEditor.js +2 -2
  226. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  227. package/dist/editor/ui/PublishItemDialog.js +4 -6
  228. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  229. package/dist/editor/version-diff/versionDiffTargets.d.ts +1 -1
  230. package/dist/editor/workflowFields.d.ts +1 -0
  231. package/dist/editor/workflowFields.js +16 -0
  232. package/dist/editor/workflowFields.js.map +1 -0
  233. package/dist/index.d.ts +4 -2
  234. package/dist/index.js +3 -2
  235. package/dist/index.js.map +1 -1
  236. package/dist/revision.d.ts +2 -2
  237. package/dist/revision.js +2 -2
  238. package/dist/splash-screen/NewPage.js +26 -7
  239. package/dist/splash-screen/NewPage.js.map +1 -1
  240. package/dist/task-board/TaskBoardWorkspace.js +57 -4
  241. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  242. package/dist/task-board/components/TaskBoardHomeView.d.ts +27 -0
  243. package/dist/task-board/components/TaskBoardHomeView.js +158 -0
  244. package/dist/task-board/components/TaskBoardHomeView.js.map +1 -0
  245. package/package.json +1 -2
  246. 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
- }, [bridgeDomRevision, pageViewContext.bridgeDom, scroll, viewport]);
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: (geometry?.scroll.x ?? 0) * scrollScale,
56
- scrollTop: (geometry?.scroll.y ?? 0) * scrollScale,
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
- dispatchBridgeOverlayScroll(iframe, event.payload.geometry.scroll, getBridgeGeometryScrollScale(event.payload.geometry));
1260
- dispatchBridgeOverlayGeometry(iframe, event.payload.geometry);
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
- dispatchBridgeOverlayScroll(iframe, event.payload.geometry.scroll, getBridgeGeometryScrollScale(event.payload.geometry));
1290
- dispatchBridgeOverlayGeometry(iframe, event.payload.geometry);
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
- dispatchBridgeOverlayScroll(iframe, event.payload.scroll, getBridgeGeometryScrollScale(pageViewContextRef.current?.bridgeGeometry));
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
  }