@parhelia/core 0.1.12922 → 0.1.12923

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 (31) hide show
  1. package/dist/editor/ImageEditor.js +2 -2
  2. package/dist/editor/ImageEditor.js.map +1 -1
  3. package/dist/editor/PictureEditor.js +2 -2
  4. package/dist/editor/PictureEditor.js.map +1 -1
  5. package/dist/editor/ai/InlineAiTrigger.js +29 -0
  6. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  7. package/dist/editor/client/EditorShell.js +8 -0
  8. package/dist/editor/client/EditorShell.js.map +1 -1
  9. package/dist/editor/client/pageModelBuilder.d.ts +18 -0
  10. package/dist/editor/client/pageModelBuilder.js +75 -20
  11. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  12. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +5 -5
  13. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -1
  14. package/dist/editor/page-editor-chrome/FrameMenu.js +138 -50
  15. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  16. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +5 -0
  17. package/dist/editor/page-editor-chrome/overlay/geometry.js +5 -0
  18. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  19. package/dist/editor/page-viewer/MiniMap.d.ts +1 -0
  20. package/dist/editor/page-viewer/MiniMap.js +184 -36
  21. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  22. package/dist/editor/page-viewer/PageViewerFrame.js +38 -12
  23. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  24. package/dist/editor/reviews/CommentPopover.d.ts +2 -0
  25. package/dist/editor/reviews/CommentPopover.js +22 -0
  26. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  27. package/dist/editor/sidebar/OperationItem.js +3 -3
  28. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  29. package/dist/revision.d.ts +2 -2
  30. package/dist/revision.js +2 -2
  31. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
+ import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
3
3
  import { useEditContext } from "../client/editContext";
4
4
  import { PlaceholderDropZones } from "../page-editor-chrome/PlaceholderDropZones";
5
5
  import { MinimapDropTargets } from "./MinimapDropTargets";
@@ -10,12 +10,28 @@ import { VersionDiffHighlightings } from "../page-editor-chrome/VersionDiffHighl
10
10
  import { IframeOverlayProvider } from "../page-editor-chrome/overlay/IframeOverlayProvider";
11
11
  import { getAllComponentInstances } from "../componentTreeHelper";
12
12
  export const BRIDGE_DOM_UPDATED_EVENT = "parhelia:bridge-dom-updated";
13
+ const MINI_MAP_FRAME_SLOTS = ["primary", "secondary"];
13
14
  export function MiniMap({ compareView, scroll, pageViewContext, }) {
14
15
  const editContext = useEditContext();
15
16
  const [scale, setScale] = useState(1);
16
17
  const minimapRef = useRef(null);
17
18
  const scaleContainerRef = useRef(null);
18
- const iframeRef = useRef(null);
19
+ const iframeRefs = useRef({
20
+ primary: null,
21
+ secondary: null,
22
+ });
23
+ const [minimapFrameState, setMinimapFrameState] = useState({
24
+ activeSlot: "primary",
25
+ pendingSlot: null,
26
+ htmlBySlot: {
27
+ primary: undefined,
28
+ secondary: undefined,
29
+ },
30
+ loadedHtmlBySlot: {
31
+ primary: undefined,
32
+ secondary: undefined,
33
+ },
34
+ });
19
35
  const [minimapReady, setMinimapReady] = useState(false);
20
36
  const [bridgeDomRevision, setBridgeDomRevision] = useState(0);
21
37
  const minimapContainerRef = useRef(null);
@@ -33,6 +49,12 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
33
49
  pageViewContext.bridgeGeometry,
34
50
  viewport.width,
35
51
  ]);
52
+ const activeMinimapIframe = iframeRefs.current[minimapFrameState.activeSlot];
53
+ const activeMinimapHtml = minimapFrameState.htmlBySlot[minimapFrameState.activeSlot];
54
+ const activeMinimapFrameLoaded = !!activeMinimapHtml &&
55
+ minimapFrameState.loadedHtmlBySlot[minimapFrameState.activeSlot] ===
56
+ activeMinimapHtml;
57
+ const minimapContentReady = minimapReady && activeMinimapFrameLoaded;
36
58
  const getDocumentMetrics = useCallback(() => {
37
59
  return getBridgeMinimapMetrics(pageViewContext.bridgeDom, viewport, scroll, pageViewContext.bridgeGeometry);
38
60
  }, [
@@ -87,6 +109,38 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
87
109
  window.removeEventListener(BRIDGE_DOM_UPDATED_EVENT, handleBridgeDomUpdated);
88
110
  };
89
111
  }, []);
112
+ useEffect(() => {
113
+ if (!bridgeMinimapHtml)
114
+ return;
115
+ setMinimapFrameState((previous) => {
116
+ const activeHtml = previous.htmlBySlot[previous.activeSlot];
117
+ if (!activeHtml) {
118
+ return {
119
+ ...previous,
120
+ htmlBySlot: {
121
+ ...previous.htmlBySlot,
122
+ [previous.activeSlot]: bridgeMinimapHtml,
123
+ },
124
+ pendingSlot: null,
125
+ };
126
+ }
127
+ if (activeHtml === bridgeMinimapHtml)
128
+ return previous;
129
+ if (previous.pendingSlot &&
130
+ previous.htmlBySlot[previous.pendingSlot] === bridgeMinimapHtml) {
131
+ return previous;
132
+ }
133
+ const nextSlot = getInactiveMiniMapFrameSlot(previous.activeSlot);
134
+ return {
135
+ ...previous,
136
+ htmlBySlot: {
137
+ ...previous.htmlBySlot,
138
+ [nextSlot]: bridgeMinimapHtml,
139
+ },
140
+ pendingSlot: nextSlot,
141
+ };
142
+ });
143
+ }, [bridgeMinimapHtml]);
90
144
  useEffect(() => {
91
145
  calcAndUpdateScale();
92
146
  }, [
@@ -138,7 +192,7 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
138
192
  const metrics = getDocumentMetrics();
139
193
  if (!metrics)
140
194
  return;
141
- const iframeRect = iframeRef.current?.getBoundingClientRect();
195
+ const iframeRect = iframeRefs.current[minimapFrameState.activeSlot]?.getBoundingClientRect();
142
196
  const reference = iframeRect && iframeRect.height > 0 ? iframeRect : containerRect;
143
197
  const ratio = Math.min(1, Math.max(0, (point.y - reference.top) / reference.height));
144
198
  const maxScrollTop = Math.max(0, metrics.documentHeight - metrics.viewportHeight);
@@ -193,11 +247,39 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
193
247
  return;
194
248
  scaleContainerRef.current.style.transform = `scale(${scale})`;
195
249
  scaleContainerRef.current.style.transformOrigin = "0 0";
196
- if (iframeRef.current) {
197
- iframeRef.current.style.width = `${metrics?.viewportWidth ?? 0}px`;
198
- iframeRef.current.style.height = `${metrics?.documentHeight ?? 0}px`;
199
- }
250
+ MINI_MAP_FRAME_SLOTS.forEach((slot) => {
251
+ const iframe = iframeRefs.current[slot];
252
+ if (!iframe)
253
+ return;
254
+ iframe.style.width = `${metrics?.viewportWidth ?? 0}px`;
255
+ iframe.style.height = `${metrics?.documentHeight ?? 0}px`;
256
+ });
200
257
  };
258
+ const handleIframeLoad = useCallback((slot) => {
259
+ const iframe = iframeRefs.current[slot];
260
+ const loadedSrcDoc = iframe?.getAttribute("srcdoc") ?? undefined;
261
+ setMinimapFrameState((previous) => {
262
+ const loadedHtml = previous.htmlBySlot[slot];
263
+ if (!loadedHtml || loadedSrcDoc !== loadedHtml)
264
+ return previous;
265
+ const loadedHtmlBySlot = {
266
+ ...previous.loadedHtmlBySlot,
267
+ [slot]: loadedHtml,
268
+ };
269
+ if (previous.pendingSlot === slot && loadedHtml) {
270
+ return {
271
+ ...previous,
272
+ activeSlot: slot,
273
+ loadedHtmlBySlot,
274
+ pendingSlot: null,
275
+ };
276
+ }
277
+ return {
278
+ ...previous,
279
+ loadedHtmlBySlot,
280
+ };
281
+ });
282
+ }, []);
201
283
  const handleClick = (e) => {
202
284
  const metrics = getDocumentMetrics();
203
285
  if (!metrics)
@@ -214,7 +296,7 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
214
296
  const containerRect = minimapContainerRef.current?.getBoundingClientRect();
215
297
  if (!containerRect)
216
298
  return;
217
- const iframeRect = iframeRef.current?.getBoundingClientRect();
299
+ const iframeRect = iframeRefs.current[minimapFrameState.activeSlot]?.getBoundingClientRect();
218
300
  const clickReferenceRect = iframeRect && iframeRect.height > 0 ? iframeRect : containerRect;
219
301
  const absY = e.clientY - clickReferenceRect.top;
220
302
  const clickRatio = Math.min(1, Math.max(0, absY / clickReferenceRect.height));
@@ -233,6 +315,10 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
233
315
  const viewportHighlight = minimapMetrics
234
316
  ? getMinimapViewportHighlight(minimapMetrics, scale)
235
317
  : null;
318
+ const selectionBounds = useMemo(() => ({
319
+ width: miniMapWidth,
320
+ height: minimapMetrics ? minimapMetrics.documentHeight * scale : 0,
321
+ }), [miniMapWidth, minimapMetrics?.documentHeight, scale]);
236
322
  if (!editContext || !isBridgeMinimap) {
237
323
  return null;
238
324
  }
@@ -242,19 +328,31 @@ export function MiniMap({ compareView, scroll, pageViewContext, }) {
242
328
  boxShadow: "5px 0 5px -5px var(--color-neutral-grey-100)",
243
329
  }, children: [_jsx("div", { className: "bg-opacity-50 absolute inset-0 overflow-hidden select-none", style: {
244
330
  boxShadow: "var(--color-neutral-grey-15) -10px 1px 13px -10px",
245
- }, children: _jsx("div", { ref: minimapRef, onDragOverCapture: handleClick, className: "h-full w-full", children: _jsx("div", { ref: scaleContainerRef, children: _jsx("iframe", { className: "pointer-events-none", ref: iframeRef, sandbox: "", srcDoc: bridgeMinimapHtml, style: {
246
- border: 0,
247
- display: "block",
248
- height: `${minimapMetrics?.documentHeight ?? 0}px`,
249
- visibility: minimapReady ? "visible" : "hidden",
250
- width: `${minimapMetrics?.viewportWidth ?? 0}px`,
251
- } }) }) }) }), _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: {
331
+ }, children: _jsx("div", { ref: minimapRef, onDragOverCapture: handleClick, className: "h-full w-full", children: _jsx("div", { ref: scaleContainerRef, style: { position: "relative" }, children: MINI_MAP_FRAME_SLOTS.map((slot) => {
332
+ const slotHtml = minimapFrameState.htmlBySlot[slot];
333
+ if (!slotHtml)
334
+ return null;
335
+ const isActive = slot === minimapFrameState.activeSlot;
336
+ return (_jsx("iframe", { className: "pointer-events-none", ref: (element) => {
337
+ iframeRefs.current[slot] = element;
338
+ }, onLoad: () => handleIframeLoad(slot), sandbox: "", srcDoc: slotHtml, style: {
339
+ backfaceVisibility: "hidden",
340
+ border: 0,
341
+ contain: "paint",
342
+ display: "block",
343
+ height: `${minimapMetrics?.documentHeight ?? 0}px`,
344
+ inset: isActive ? undefined : 0,
345
+ position: isActive ? "relative" : "absolute",
346
+ transform: "translateZ(0)",
347
+ visibility: isActive && minimapContentReady ? "visible" : "hidden",
348
+ willChange: "transform",
349
+ width: `${minimapMetrics?.viewportWidth ?? 0}px`,
350
+ zIndex: isActive ? 1 : 0,
351
+ } }, slot));
352
+ }) }) }) }), _jsx("div", { "aria-hidden": "true", className: "absolute inset-0" }), viewportHighlight && minimapContentReady && (_jsx("div", { "data-testid": "minimap-viewport-highlight", className: "bg-neutral-grey-10 pointer-events-none absolute w-full opacity-60 hover:opacity-65", style: {
252
353
  top: viewportHighlight.top + "px",
253
354
  height: viewportHighlight.height + "px",
254
- } })), iframeRef.current && (_jsxs(IframeOverlayProvider, { iframe: iframeRef.current, mode: "static", scrollScale: 1, visualScale: scale, children: [editContext.mode === "edit" && (_jsxs(_Fragment, { children: [_jsx(PlaceholderDropZones, { size: "small", pageViewContext: pageViewContext, scopeInsertModeToHoveredComponent: false, avoidOverlaps: false }), _jsx(MinimapDropTargets, { 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, bounds: {
255
- width: miniMapWidth,
256
- height: minimapMetrics ? minimapMetrics.documentHeight * scale : 0,
257
- } })] }));
355
+ } })), activeMinimapIframe && minimapContentReady && (_jsxs(IframeOverlayProvider, { iframe: activeMinimapIframe, mode: "static", scrollScale: 1, visualScale: scale, children: [editContext.mode === "edit" && (_jsxs(_Fragment, { children: [_jsx(PlaceholderDropZones, { size: "small", pageViewContext: pageViewContext, scopeInsertModeToHoveredComponent: false, avoidOverlaps: false }), _jsx(MinimapDropTargets, { 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, bounds: selectionBounds })] }));
258
356
  }
259
357
  export function getBridgeMinimapMetrics(snapshot, fallbackViewport, scrollOverride, geometry) {
260
358
  if (!snapshot)
@@ -310,25 +408,51 @@ export function getMiniMapSelectionRects(selection, page, geometry, scale) {
310
408
  }
311
409
  function MiniMapSelectionHighlights({ pageViewContext, scale, bounds, }) {
312
410
  const editContext = useEditContext();
313
- const selectionRects = useMemo(() => getMiniMapSelectionRects(editContext?.selection, pageViewContext.page, pageViewContext.bridgeGeometry, scale), [
411
+ const rawSelectionRects = useMemo(() => getMiniMapSelectionRects(editContext?.selection, pageViewContext.page, pageViewContext.bridgeGeometry, scale), [
314
412
  editContext?.selection,
315
413
  pageViewContext.page,
316
414
  pageViewContext.bridgeGeometry,
317
415
  scale,
318
416
  ]);
417
+ const selectionRects = useStableMiniMapSelectionRects(rawSelectionRects);
418
+ const highlightRects = useMemo(() => selectionRects.map((rect) => getMiniMapSelectionHighlightRect(rect, bounds)), [bounds, selectionRects]);
319
419
  if (selectionRects.length === 0)
320
420
  return null;
321
- 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) => {
322
- const highlightRect = getMiniMapSelectionHighlightRect(rect, bounds);
323
- return (_jsx("div", { className: "absolute", "data-testid": "minimap-selection-highlight", style: {
324
- border: `${MINIMAP_SELECTION_BORDER_WIDTH}px solid var(--color-component-default)`,
325
- boxSizing: "border-box",
326
- height: highlightRect.height,
327
- left: highlightRect.x,
328
- top: highlightRect.y,
329
- width: highlightRect.width,
330
- } }, index));
331
- }) }));
421
+ return (_jsx("div", { "aria-hidden": "true", className: "pointer-events-none absolute inset-0 z-20", "data-testid": "minimap-selection-highlights", style: {
422
+ contain: "layout paint",
423
+ transform: "translateZ(0)",
424
+ willChange: "transform",
425
+ }, children: highlightRects.map((rect, index) => (_jsx(MiniMapSelectionHighlight, { rect: rect }, index))) }));
426
+ }
427
+ const MiniMapSelectionHighlight = memo(function MiniMapSelectionHighlight({ rect, }) {
428
+ return (_jsx("div", { className: "absolute", "data-testid": "minimap-selection-highlight", style: {
429
+ border: `${MINIMAP_SELECTION_BORDER_WIDTH}px solid var(--color-component-default)`,
430
+ boxSizing: "border-box",
431
+ height: rect.height,
432
+ left: rect.x,
433
+ top: rect.y,
434
+ width: rect.width,
435
+ } }));
436
+ });
437
+ function useStableMiniMapSelectionRects(rects) {
438
+ const stableRef = useRef(null);
439
+ const signature = getMiniMapSelectionRectsSignature(rects);
440
+ if (stableRef.current?.signature === signature) {
441
+ return stableRef.current.rects;
442
+ }
443
+ stableRef.current = { rects, signature };
444
+ return rects;
445
+ }
446
+ function getMiniMapSelectionRectsSignature(rects) {
447
+ return rects
448
+ .map((rect) => `${formatMiniMapSelectionRectNumber(rect.x)},${formatMiniMapSelectionRectNumber(rect.y)},${formatMiniMapSelectionRectNumber(rect.width)},${formatMiniMapSelectionRectNumber(rect.height)}`)
449
+ .join("|");
450
+ }
451
+ function formatMiniMapSelectionRectNumber(value) {
452
+ return String(Math.round(value * 1000) / 1000);
453
+ }
454
+ function getInactiveMiniMapFrameSlot(activeSlot) {
455
+ return activeSlot === "primary" ? "secondary" : "primary";
332
456
  }
333
457
  function getSelectedMiniMapComponents(selection, page) {
334
458
  const uniqueById = new Map();
@@ -364,11 +488,12 @@ function getMiniMapComponentRect(component, geometry, scale) {
364
488
  height: target.rect.height * rectScale * minimapScale,
365
489
  };
366
490
  }
367
- function createBridgeMinimapHtml(html, geometry, viewportWidth) {
491
+ export function createBridgeMinimapHtml(html, geometry, viewportWidth) {
368
492
  if (typeof DOMParser === "undefined")
369
493
  return html;
370
494
  try {
371
495
  const doc = new DOMParser().parseFromString(html, "text/html");
496
+ stripBridgeMinimapVolatileState(doc);
372
497
  neutralizeBridgeMinimapZoom(doc);
373
498
  constrainBridgeMinimapWidth(doc, viewportWidth);
374
499
  if (geometry) {
@@ -422,6 +547,29 @@ function constrainBridgeMinimapWidth(doc, viewportWidth) {
422
547
  element.style.setProperty("overflow-x", "hidden", "important");
423
548
  });
424
549
  }
550
+ const BRIDGE_MINIMAP_VOLATILE_ATTRIBUTES = [
551
+ "data-parhelia-selected",
552
+ "data-parhelia-previous-contenteditable",
553
+ "data-parhelia-inline-editing",
554
+ "data-parhelia-inline-edit-active",
555
+ "data-parhelia-suggestions-cursor",
556
+ "data-parhelia-suggestions-cursor-style",
557
+ ];
558
+ function stripBridgeMinimapVolatileState(doc) {
559
+ const selector = BRIDGE_MINIMAP_VOLATILE_ATTRIBUTES.map((attribute) => `[${attribute}]`).join(",");
560
+ const elements = Array.from(doc.querySelectorAll(selector));
561
+ if (doc.documentElement.matches(selector)) {
562
+ elements.unshift(doc.documentElement);
563
+ }
564
+ elements.forEach((element) => {
565
+ BRIDGE_MINIMAP_VOLATILE_ATTRIBUTES.forEach((attribute) => {
566
+ element.removeAttribute(attribute);
567
+ });
568
+ });
569
+ }
570
+ function formatBridgeMinimapCssPixels(value) {
571
+ return `${Math.round(value * 1000) / 1000}px`;
572
+ }
425
573
  function bakeBridgeGeometryDimensions(doc, geometry) {
426
574
  const rectScale = getBridgeMinimapRectScale(geometry);
427
575
  const keyedElements = Array.from(doc.querySelectorAll("[data-parhelia-element-key]"));
@@ -453,12 +601,12 @@ function bakeBridgeGeometryDimensions(doc, geometry) {
453
601
  if (target.kind === "field" || target.kind === "textRange")
454
602
  return;
455
603
  if (target.rect.width > 0) {
456
- element.style.setProperty("width", `${target.rect.width * rectScale}px`, "important");
457
- element.style.setProperty("min-width", `${target.rect.width * rectScale}px`, "important");
604
+ element.style.setProperty("width", formatBridgeMinimapCssPixels(target.rect.width * rectScale), "important");
605
+ element.style.setProperty("min-width", formatBridgeMinimapCssPixels(target.rect.width * rectScale), "important");
458
606
  }
459
607
  if (target.rect.height > 0) {
460
- element.style.setProperty("height", `${target.rect.height * rectScale}px`, "important");
461
- element.style.setProperty("min-height", `${target.rect.height * rectScale}px`, "important");
608
+ element.style.setProperty("height", formatBridgeMinimapCssPixels(target.rect.height * rectScale), "important");
609
+ element.style.setProperty("min-height", formatBridgeMinimapCssPixels(target.rect.height * rectScale), "important");
462
610
  }
463
611
  });
464
612
  }
@@ -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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"}
@@ -159,6 +159,20 @@ function bridgeTargetToDocumentBounds(geometry, target) {
159
159
  height: target.rect.height * rectScale,
160
160
  };
161
161
  }
162
+ function bridgeHoverInteractionsEqual(left, right) {
163
+ if (!left || left.kind !== "hover" || right.kind !== "hover")
164
+ return false;
165
+ return (left.elementKey === right.elementKey &&
166
+ left.componentId === right.componentId &&
167
+ left.fieldId === right.fieldId &&
168
+ left.item?.id === right.item?.id &&
169
+ left.item?.language === right.item?.language &&
170
+ left.item?.version === right.item?.version &&
171
+ left.placeholderKey === right.placeholderKey &&
172
+ left.media?.elementKey === right.media?.elementKey &&
173
+ left.media?.tagName === right.media?.tagName &&
174
+ left.media?.variantName === right.media?.variantName);
175
+ }
162
176
  function findBridgeFieldDocumentBounds(geometry, descriptor) {
163
177
  if (!geometry)
164
178
  return undefined;
@@ -620,6 +634,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
620
634
  const previousBridgeInlineEditModeRef = useRef(editContext.mode);
621
635
  const latestBridgeScrollRef = useRef(undefined);
622
636
  const directOverlayScrollSyncRef = useRef(false);
637
+ const lastBridgeHoverInteractionRef = useRef(undefined);
623
638
  const pendingRefreshScrollRef = useRef(undefined);
624
639
  const restorePendingRefreshScroll = useCallback((iframe, targetScroll, observedScroll) => {
625
640
  if (!targetScroll)
@@ -1925,6 +1940,15 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1925
1940
  clearActiveBridgeInlineEdit();
1926
1941
  break;
1927
1942
  case "interaction":
1943
+ if (event.payload.kind === "hover") {
1944
+ if (bridgeHoverInteractionsEqual(lastBridgeHoverInteractionRef.current, event.payload)) {
1945
+ break;
1946
+ }
1947
+ lastBridgeHoverInteractionRef.current = event.payload;
1948
+ }
1949
+ else {
1950
+ lastBridgeHoverInteractionRef.current = undefined;
1951
+ }
1928
1952
  pageViewContext.setBridgeInteraction(event.payload);
1929
1953
  void handleBridgeInteraction(event.payload, iframe);
1930
1954
  break;
@@ -2300,19 +2324,20 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2300
2324
  if (!contentHeight || !clientHeight)
2301
2325
  return;
2302
2326
  const upperThreshold = clientHeight + 100; // show minimap if content exceeds this height
2303
- const lowerThreshold = clientHeight; // hide minimap if content falls below this
2304
2327
  // Check if minimap is enabled in settings and user controls
2305
2328
  const minimapEnabled = editContext.parheliaSettings?.showMinimap !== false &&
2306
2329
  editContext.showMinimap;
2307
- if (showMiniMap) {
2308
- if (contentHeight <= lowerThreshold || !minimapEnabled) {
2330
+ if (!minimapEnabled) {
2331
+ if (showMiniMap) {
2309
2332
  setShowMiniMap(false);
2310
2333
  }
2334
+ return;
2311
2335
  }
2312
- else {
2313
- if (contentHeight > upperThreshold && minimapEnabled) {
2314
- setShowMiniMap(true);
2315
- }
2336
+ if (showMiniMap) {
2337
+ return;
2338
+ }
2339
+ if (contentHeight > upperThreshold) {
2340
+ setShowMiniMap(true);
2316
2341
  }
2317
2342
  }, 100);
2318
2343
  useEffect(() => {
@@ -2686,6 +2711,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2686
2711
  window.removeEventListener(DEVICE_CHANGE_EVENT, sendViewportStateToBridge);
2687
2712
  };
2688
2713
  }, [zoom]);
2714
+ const shouldRenderMiniMap = !pageViewContext.fullscreen &&
2715
+ showMiniMap &&
2716
+ editContext.showMinimap &&
2717
+ !editContext.isMobile &&
2718
+ editContext.parheliaSettings?.showMinimap !== false;
2689
2719
  if (pageViewContext.page?.item && !pageViewContext.page?.item.hasLayout) {
2690
2720
  return _jsx(NoLayout, {});
2691
2721
  }
@@ -2747,10 +2777,6 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2747
2777
  restorePendingRefreshScroll(iframeRef.current, pendingRefreshScrollRef.current);
2748
2778
  }
2749
2779
  }
2750
- } }), iframeElement && (_jsx(IframeOverlayProvider, { iframe: iframeElement, mode: "scrolling", scrollScale: 1, visualScale: 1, invalidationKey: `${zoom}:${bridgeGeometryRevision}`, deferredInvalidationMs: ZOOM_TRANSITION_MS + 50, bleed: { top: 2, bottom: 2, left: 2 }, children: _jsx(PageEditorChrome, { iframe: iframeElement, compareView: compareView, pageViewContext: pageViewContext, onBridgeRichTextCommand: sendApplyRichTextCommand }) })), pageViewContext.deviceHeight && pageViewContext.device && (_jsx("div", { className: "bg-neutral-grey-5 relative z-40 h-full w-full" }))] }), !pageViewContext.fullscreen &&
2751
- showMiniMap &&
2752
- editContext.showMinimap &&
2753
- !editContext.isMobile &&
2754
- editContext.parheliaSettings?.showMinimap !== false && (_jsx(MiniMap, { compareView: compareView, scroll: scroll, mainViewIframeRef: iframeRef, pageViewContext: pageViewContext })), showSpinner && (_jsxs(_Fragment, { children: [_jsx("div", { className: "bg-neutral-grey-5/50 absolute top-0 left-0 h-full w-full" }), _jsx("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transform", children: _jsx(Spinner, {}) })] }))] }), _jsx(FieldActionsOverlay, { ref: fieldActionsOverlay, generatorButtons: contextMenuFieldButtons, onActionClick: handleActionClick, onParameterizedActionExecute: handleParameterizedActionExecute, currentOverlay: editContext?.currentOverlay, fieldId: contextMenuField?.fieldId || "", setCurrentOverlay: editContext?.setCurrentOverlay || (() => { }), preSelectedAction: preSelectedAction })] }));
2780
+ } }), iframeElement && (_jsx(IframeOverlayProvider, { iframe: iframeElement, mode: "scrolling", scrollScale: 1, visualScale: 1, invalidationKey: `${zoom}:${bridgeGeometryRevision}`, deferredInvalidationMs: ZOOM_TRANSITION_MS + 50, bleed: { top: 2, bottom: 2, left: 2 }, children: _jsx(PageEditorChrome, { iframe: iframeElement, compareView: compareView, pageViewContext: pageViewContext, onBridgeRichTextCommand: sendApplyRichTextCommand }) })), pageViewContext.deviceHeight && pageViewContext.device && (_jsx("div", { className: "bg-neutral-grey-5 relative z-40 h-full w-full" }))] }), shouldRenderMiniMap && (_jsx(MiniMap, { compareView: compareView, scroll: scroll, mainViewIframeRef: iframeRef, pageViewContext: pageViewContext })), showSpinner && (_jsxs(_Fragment, { children: [_jsx("div", { className: "bg-neutral-grey-5/50 absolute top-0 left-0 h-full w-full" }), _jsx("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transform", children: _jsx(Spinner, {}) })] }))] }), _jsx(FieldActionsOverlay, { ref: fieldActionsOverlay, generatorButtons: contextMenuFieldButtons, onActionClick: handleActionClick, onParameterizedActionExecute: handleParameterizedActionExecute, currentOverlay: editContext?.currentOverlay, fieldId: contextMenuField?.fieldId || "", setCurrentOverlay: editContext?.setCurrentOverlay || (() => { }), preSelectedAction: preSelectedAction })] }));
2755
2781
  }
2756
2782
  //# sourceMappingURL=PageViewerFrame.js.map