@parhelia/core 0.1.12881 → 0.1.12883

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 (220) hide show
  1. package/dist/agents-view/AgentsSidebar.js +1 -1
  2. package/dist/agents-view/AgentsSidebar.js.map +1 -1
  3. package/dist/agents-view/AgentsTitlebar.d.ts +1 -1
  4. package/dist/agents-view/AgentsTitlebar.js +3 -6
  5. package/dist/agents-view/AgentsTitlebar.js.map +1 -1
  6. package/dist/agents-view/AgentsView.d.ts +2 -2
  7. package/dist/agents-view/AgentsView.js +2 -2
  8. package/dist/agents-view/AgentsView.js.map +1 -1
  9. package/dist/agents-view/AgentsWorkspaceView.js +1 -12
  10. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  11. package/dist/agents-view/CreateAgentView.d.ts +1 -1
  12. package/dist/agents-view/CreateAgentView.js +1 -1
  13. package/dist/agents-view/DateAgentsGroup.js +12 -1
  14. package/dist/agents-view/DateAgentsGroup.js.map +1 -1
  15. package/dist/agents-view/ProfileAgentsGroup.js +16 -4
  16. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  17. package/dist/components/ui/checkbox.js +1 -1
  18. package/dist/components/ui/checkbox.js.map +1 -1
  19. package/dist/components/ui/context-menu.d.ts +2 -1
  20. package/dist/components/ui/context-menu.js +4 -1
  21. package/dist/components/ui/context-menu.js.map +1 -1
  22. package/dist/components/ui/input.js +2 -2
  23. package/dist/components/ui/input.js.map +1 -1
  24. package/dist/components/ui/select.js +1 -1
  25. package/dist/components/ui/select.js.map +1 -1
  26. package/dist/components/ui/textarea.js +2 -2
  27. package/dist/components/ui/textarea.js.map +1 -1
  28. package/dist/config/config.js +92 -14
  29. package/dist/config/config.js.map +1 -1
  30. package/dist/config/types.d.ts +7 -0
  31. package/dist/config/types.js.map +1 -1
  32. package/dist/editor/ContextMenu.d.ts +1 -0
  33. package/dist/editor/ContextMenu.js +4 -4
  34. package/dist/editor/ContextMenu.js.map +1 -1
  35. package/dist/editor/FieldHistory.d.ts +2 -1
  36. package/dist/editor/FieldHistory.js +13 -12
  37. package/dist/editor/FieldHistory.js.map +1 -1
  38. package/dist/editor/FieldListField.js +4 -18
  39. package/dist/editor/FieldListField.js.map +1 -1
  40. package/dist/editor/LinkEditorDialog.d.ts +9 -2
  41. package/dist/editor/LinkEditorDialog.js +174 -70
  42. package/dist/editor/LinkEditorDialog.js.map +1 -1
  43. package/dist/editor/MainLayout.js +49 -6
  44. package/dist/editor/MainLayout.js.map +1 -1
  45. package/dist/editor/MobileLayout.js +33 -1
  46. package/dist/editor/MobileLayout.js.map +1 -1
  47. package/dist/editor/PictureCropper.js +45 -28
  48. package/dist/editor/PictureCropper.js.map +1 -1
  49. package/dist/editor/ai/AgentProfileSelector.js +7 -7
  50. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  51. package/dist/editor/ai/Agents.js +19 -5
  52. package/dist/editor/ai/Agents.js.map +1 -1
  53. package/dist/editor/ai/InlineAiDialog.d.ts +1 -0
  54. package/dist/editor/ai/InlineAiDialog.js +239 -198
  55. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  56. package/dist/editor/ai/InlineAiTextEditTooltip.d.ts +8 -0
  57. package/dist/editor/ai/InlineAiTextEditTooltip.js +10 -0
  58. package/dist/editor/ai/InlineAiTextEditTooltip.js.map +1 -0
  59. package/dist/editor/ai/InlineAiTrigger.js +187 -20
  60. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  61. package/dist/editor/ai/inlineAiTextEditLabels.d.ts +2 -0
  62. package/dist/editor/ai/inlineAiTextEditLabels.js +8 -0
  63. package/dist/editor/ai/inlineAiTextEditLabels.js.map +1 -0
  64. package/dist/editor/ai/prepareInlineAiTextSelection.d.ts +5 -0
  65. package/dist/editor/ai/prepareInlineAiTextSelection.js +86 -0
  66. package/dist/editor/ai/prepareInlineAiTextSelection.js.map +1 -0
  67. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  68. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  69. package/dist/editor/ai/terminal/components/AiResponseMessage.js +9 -9
  70. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  71. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +3 -1
  72. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  73. package/dist/editor/ai/useActiveAgentConversation.d.ts +3 -0
  74. package/dist/editor/ai/useActiveAgentConversation.js +32 -0
  75. package/dist/editor/ai/useActiveAgentConversation.js.map +1 -0
  76. package/dist/editor/ai/useInlineAiPosition.d.ts +9 -1
  77. package/dist/editor/ai/useInlineAiPosition.js +10 -19
  78. package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
  79. package/dist/editor/client/EditorShell.js +23 -4
  80. package/dist/editor/client/EditorShell.js.map +1 -1
  81. package/dist/editor/client/editContext.d.ts +25 -0
  82. package/dist/editor/client/editContext.js.map +1 -1
  83. package/dist/editor/client/fieldModificationStore.d.ts +1 -0
  84. package/dist/editor/client/fieldModificationStore.js +7 -2
  85. package/dist/editor/client/fieldModificationStore.js.map +1 -1
  86. package/dist/editor/client/itemsRepository.js +3 -1
  87. package/dist/editor/client/itemsRepository.js.map +1 -1
  88. package/dist/editor/client/operations.js +26 -4
  89. package/dist/editor/client/operations.js.map +1 -1
  90. package/dist/editor/client/ui/EditorChrome.js +1 -1
  91. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  92. package/dist/editor/commands/componentCommands.d.ts +3 -1
  93. package/dist/editor/commands/componentCommands.js +8 -3
  94. package/dist/editor/commands/componentCommands.js.map +1 -1
  95. package/dist/editor/commands/handlers/uiActionHandlers.js +5 -1
  96. package/dist/editor/commands/handlers/uiActionHandlers.js.map +1 -1
  97. package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js +5 -0
  98. package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js.map +1 -1
  99. package/dist/editor/editor-warnings/ItemLocked.js +6 -3
  100. package/dist/editor/editor-warnings/ItemLocked.js.map +1 -1
  101. package/dist/editor/field-types/DateFieldEditor.js +1 -1
  102. package/dist/editor/field-types/DateFieldEditor.js.map +1 -1
  103. package/dist/editor/field-types/DateTimeFieldEditor.js +1 -1
  104. package/dist/editor/field-types/DateTimeFieldEditor.js.map +1 -1
  105. package/dist/editor/field-types/DropLinkEditor.js +1 -1
  106. package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
  107. package/dist/editor/field-types/DropListEditor.js +1 -1
  108. package/dist/editor/field-types/DropListEditor.js.map +1 -1
  109. package/dist/editor/field-types/ImageFieldEditor.js +1 -1
  110. package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
  111. package/dist/editor/field-types/InternalLinkFieldEditor.js +1 -1
  112. package/dist/editor/field-types/InternalLinkFieldEditor.js.map +1 -1
  113. package/dist/editor/field-types/LinkFieldEditor.js +15 -3
  114. package/dist/editor/field-types/LinkFieldEditor.js.map +1 -1
  115. package/dist/editor/field-types/MultiLineText.js +1 -1
  116. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  117. package/dist/editor/field-types/NameValueListEditor.js +1 -1
  118. package/dist/editor/field-types/NameValueListEditor.js.map +1 -1
  119. package/dist/editor/field-types/PictureFieldEditor.js +2 -2
  120. package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
  121. package/dist/editor/field-types/RawEditor.js +1 -1
  122. package/dist/editor/field-types/RawEditor.js.map +1 -1
  123. package/dist/editor/field-types/RichTextEditorComponent.js +18 -36
  124. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  125. package/dist/editor/field-types/SingleLineText.js +1 -1
  126. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  127. package/dist/editor/field-types/TreeListEditor.js +1 -1
  128. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  129. package/dist/editor/field-types/richtext/bridgeRichTextProfile.d.ts +21 -0
  130. package/dist/editor/field-types/richtext/bridgeRichTextProfile.js +96 -0
  131. package/dist/editor/field-types/richtext/bridgeRichTextProfile.js.map +1 -0
  132. package/dist/editor/field-types/richtext/components/ReactSlate.css +44 -6
  133. package/dist/editor/field-types/richtext/components/ReactSlate.js +185 -36
  134. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  135. package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.css +5 -2
  136. package/dist/editor/field-types/richtext/components/SimpleToolbar.js +5 -4
  137. package/dist/editor/field-types/richtext/components/SimpleToolbar.js.map +1 -1
  138. package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +2 -14
  139. package/dist/editor/field-types/richtext/contextMenuFactory.js +4 -232
  140. package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
  141. package/dist/editor/field-types/richtext/richTextToolbarIcons.d.ts +7 -0
  142. package/dist/editor/field-types/richtext/richTextToolbarIcons.js +49 -0
  143. package/dist/editor/field-types/richtext/richTextToolbarIcons.js.map +1 -0
  144. package/dist/editor/field-types/richtext/utils/conversion.js +23 -2
  145. package/dist/editor/field-types/richtext/utils/conversion.js.map +1 -1
  146. package/dist/editor/fieldTypes.d.ts +2 -0
  147. package/dist/editor/media-selector/MediaFolderBrowser.d.ts +2 -1
  148. package/dist/editor/media-selector/MediaFolderBrowser.js +19 -9
  149. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  150. package/dist/editor/media-selector/TreeSelector.js +15 -9
  151. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  152. package/dist/editor/media-selector/UploadZone.d.ts +2 -1
  153. package/dist/editor/media-selector/UploadZone.js +21 -9
  154. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  155. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +10 -0
  156. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +607 -85
  157. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  158. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +3 -1
  159. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  160. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +3 -1
  161. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +357 -73
  162. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  163. package/dist/editor/page-editor-chrome/PageEditorChrome.js +1 -1
  164. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  165. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.d.ts +24 -0
  166. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +89 -0
  167. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -0
  168. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
  169. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +7 -1
  170. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  171. package/dist/editor/page-viewer/PageViewer.js +23 -4
  172. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  173. package/dist/editor/page-viewer/PageViewerFrame.js +157 -2
  174. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  175. package/dist/editor/reviews/Comment.js +2 -2
  176. package/dist/editor/reviews/Comment.js.map +1 -1
  177. package/dist/editor/reviews/CommentDisplayPopover.js +2 -1
  178. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  179. package/dist/editor/reviews/CommentEditor.d.ts +1 -0
  180. package/dist/editor/reviews/CommentEditor.js +3 -2
  181. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  182. package/dist/editor/reviews/CommentPopover.js +2 -2
  183. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  184. package/dist/editor/reviews/Comments.js +5 -4
  185. package/dist/editor/reviews/Comments.js.map +1 -1
  186. package/dist/editor/reviews/FeedbackCard.js +5 -7
  187. package/dist/editor/reviews/FeedbackCard.js.map +1 -1
  188. package/dist/editor/reviews/SuggestionCommentThread.js +3 -3
  189. package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
  190. package/dist/editor/services/contentService.d.ts +1 -0
  191. package/dist/editor/services/contentService.js.map +1 -1
  192. package/dist/editor/sidebar/Validation.js +4 -1
  193. package/dist/editor/sidebar/Validation.js.map +1 -1
  194. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +1 -1
  195. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
  196. package/dist/editor/ui/SimpleIconButton.js +8 -2
  197. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  198. package/dist/editor/ui/Splitter.d.ts +1 -0
  199. package/dist/editor/ui/Splitter.js +12 -2
  200. package/dist/editor/ui/Splitter.js.map +1 -1
  201. package/dist/editor/ui/animationSettle.d.ts +32 -0
  202. package/dist/editor/ui/animationSettle.js +85 -0
  203. package/dist/editor/ui/animationSettle.js.map +1 -0
  204. package/dist/editor/utils/expandSelectionAtCaret.d.ts +15 -0
  205. package/dist/editor/utils/expandSelectionAtCaret.js +183 -0
  206. package/dist/editor/utils/expandSelectionAtCaret.js.map +1 -0
  207. package/dist/editor/views/MediaFolderEditView.js +1 -1
  208. package/dist/editor/views/MediaFolderEditView.js.map +1 -1
  209. package/dist/revision.d.ts +2 -2
  210. package/dist/revision.js +2 -2
  211. package/dist/splash-screen/DialogWrappers.js +2 -2
  212. package/dist/splash-screen/DialogWrappers.js.map +1 -1
  213. package/dist/task-board/components/TaskDetailPanel.js +2 -1
  214. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  215. package/dist/task-board/views/DependencyGraphView.d.ts +42 -1
  216. package/dist/task-board/views/DependencyGraphView.js +94 -0
  217. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  218. package/dist/types.d.ts +1 -0
  219. package/package.json +1 -1
  220. package/styles.css +59 -12
@@ -0,0 +1,89 @@
1
+ export const BRIDGE_INLINE_FORMAT_TOOLBAR_SELECTOR = '[data-bridge-inline-format-toolbar="true"]';
2
+ export const BRIDGE_INLINE_FORMAT_AI_BUTTON_SELECTOR = '[data-bridge-inline-format-ai-button="true"]';
3
+ const DEFAULT_TOOLBAR_WIDTH = 300;
4
+ const DEFAULT_TOOLBAR_HEIGHT = 40;
5
+ const VIEWPORT_PADDING = 8;
6
+ const SELECTION_GAP = 8;
7
+ export function calculateBridgeInlineFormatToolbarLayout(clientRect, options) {
8
+ const toolbarWidth = options?.toolbarWidth ?? DEFAULT_TOOLBAR_WIDTH;
9
+ const toolbarHeight = options?.toolbarHeight ?? DEFAULT_TOOLBAR_HEIGHT;
10
+ const anchorCenter = clientRect.left + Math.min(clientRect.width, toolbarWidth) / 2;
11
+ let top = clientRect.top - toolbarHeight - SELECTION_GAP;
12
+ if (top < VIEWPORT_PADDING) {
13
+ top = clientRect.bottom + SELECTION_GAP + 36;
14
+ }
15
+ top = Math.max(VIEWPORT_PADDING, Math.min(top, window.innerHeight - toolbarHeight - VIEWPORT_PADDING));
16
+ const left = Math.max(VIEWPORT_PADDING, Math.min(anchorCenter - toolbarWidth / 2, window.innerWidth - toolbarWidth - VIEWPORT_PADDING));
17
+ return {
18
+ left,
19
+ top,
20
+ width: toolbarWidth,
21
+ height: toolbarHeight,
22
+ };
23
+ }
24
+ export function getInlineAiAnchorBelowToolbar(toolbarRect, aiButtonRect) {
25
+ return {
26
+ x: aiButtonRect?.left ?? toolbarRect.left,
27
+ y: toolbarRect.bottom,
28
+ align: "start",
29
+ origin: "toolbar",
30
+ };
31
+ }
32
+ export function getInlineAiAnchorFromBridgeToolbar(selectedRange, measuredToolbarRect) {
33
+ if (!selectedRange?.elementKey ||
34
+ !selectedRange.text?.trim() ||
35
+ !selectedRange.clientRect) {
36
+ return undefined;
37
+ }
38
+ if (measuredToolbarRect) {
39
+ return getInlineAiAnchorBelowToolbar(measuredToolbarRect, getVisibleBridgeToolbarAiButtonRect());
40
+ }
41
+ const layout = calculateBridgeInlineFormatToolbarLayout(selectedRange.clientRect);
42
+ return getInlineAiAnchorBelowToolbar({
43
+ left: layout.left,
44
+ bottom: layout.top + layout.height,
45
+ });
46
+ }
47
+ export function getVisibleBridgeToolbarRect() {
48
+ if (typeof document === "undefined") {
49
+ return undefined;
50
+ }
51
+ const toolbar = document.querySelector(BRIDGE_INLINE_FORMAT_TOOLBAR_SELECTOR);
52
+ if (!toolbar) {
53
+ return undefined;
54
+ }
55
+ return toolbar.getBoundingClientRect();
56
+ }
57
+ export function getVisibleBridgeToolbarAiButtonRect() {
58
+ if (typeof document === "undefined") {
59
+ return undefined;
60
+ }
61
+ const button = document.querySelector(BRIDGE_INLINE_FORMAT_AI_BUTTON_SELECTOR);
62
+ if (!button) {
63
+ return undefined;
64
+ }
65
+ return button.getBoundingClientRect();
66
+ }
67
+ export function waitForVisibleBridgeToolbarRect(maxFrames = 3) {
68
+ if (typeof window === "undefined") {
69
+ return Promise.resolve(undefined);
70
+ }
71
+ const current = getVisibleBridgeToolbarRect();
72
+ if (current) {
73
+ return Promise.resolve(current);
74
+ }
75
+ return new Promise((resolve) => {
76
+ let frame = 0;
77
+ const check = () => {
78
+ const rect = getVisibleBridgeToolbarRect();
79
+ if (rect || frame >= maxFrames) {
80
+ resolve(rect);
81
+ return;
82
+ }
83
+ frame += 1;
84
+ window.requestAnimationFrame(check);
85
+ };
86
+ window.requestAnimationFrame(check);
87
+ });
88
+ }
89
+ //# sourceMappingURL=bridgeInlineFormatToolbarLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeInlineFormatToolbarLayout.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare function useBridgeInlineEditing({ pageViewContextRef, activeBridg
20
20
  beginInlineEdit: (interaction: InteractionEventPayload) => Promise<boolean>;
21
21
  clearInlineDedupe: () => void;
22
22
  endFieldFocus: () => void;
23
- handleFieldValueChanged: (payload: FieldValueChangedEventPayload) => void;
23
+ handleFieldValueChanged: (payload: FieldValueChangedEventPayload) => Promise<void>;
24
24
  handleInlineEditEnded: (payload: InlineEditEndedEventPayload) => void;
25
25
  };
26
26
  export {};
@@ -1,6 +1,7 @@
1
1
  import { useCallback, useEffect, useRef } from "react";
2
2
  import { useEditContextRef, useFieldsEditContextRef, } from "../client/editContext";
3
3
  import { getComponentById } from "../componentTreeHelper";
4
+ import { isBridgePatchableTextField } from "../page-viewer/bridgeFieldPatch";
4
5
  import { useSlotContext } from "../views/editorSlotContext";
5
6
  export function useBridgeInlineEditing({ pageViewContextRef, activeBridgeInlineEditRef, blockIframeBlurUntil, sendBeginInlineEdit, }) {
6
7
  const editContextRef = useEditContextRef();
@@ -43,13 +44,18 @@ export function useBridgeInlineEditing({ pageViewContextRef, activeBridgeInlineE
43
44
  },
44
45
  };
45
46
  }, [pageViewContextRef]);
46
- const handleFieldValueChanged = useCallback((payload) => {
47
+ const handleFieldValueChanged = useCallback(async (payload) => {
47
48
  const editor = editContextRef.current;
48
49
  if (!editor || editor.mode === "preview")
49
50
  return;
50
51
  const field = resolveFieldDescriptor(payload.fieldId, payload.item, payload.elementKey);
51
52
  if (!field)
52
53
  return;
54
+ const currentField = await editor.itemsRepository.getField(field);
55
+ if (!currentField ||
56
+ !isBridgePatchableTextField(currentField, payload.isRichText)) {
57
+ return;
58
+ }
53
59
  // Input can arrive before the delayed click interaction finishes the
54
60
  // beginInlineEdit handshake. Mark it active immediately so suggestion
55
61
  // preview patches do not rewrite the focused host node and reset caret.
@@ -1 +1 @@
1
- {"version":3,"file":"useBridgeInlineEditing.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/useBridgeInlineEditing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBridgeInlineEditing.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/useBridgeInlineEditing.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,10 @@ import { Splitter } from "../ui/Splitter";
12
12
  import { useSlotContext } from "../views/editorSlotContext";
13
13
  import { localStorageService } from "../services/localStorageService";
14
14
  export const SLOT_COMPONENT_NAVIGATOR_DEFAULT_WIDTH = 320;
15
- const COMPONENT_NAVIGATOR_COLLAPSE_ANIMATION_MS = 200;
15
+ // Fallback only: the component navigator is normally unmounted when its
16
+ // collapse transition ends (event-driven, see handlePanelTransitionEnd). This
17
+ // guardrail ensures cleanup even if a transitionend is ever missed.
18
+ const COMPONENT_NAVIGATOR_COLLAPSE_SAFETY_MS = 400;
16
19
  const EDITOR_FORM_DEFAULT_WIDTH = 320;
17
20
  const EDITOR_FORM_MIN_WIDTH = 240;
18
21
  const EDITOR_FORM_MIN_VIEWER_WIDTH = 320;
@@ -127,6 +130,18 @@ function PageViewerContent({ pageViewContext, showFormEditor, compareView, name,
127
130
  const [renderComponentNavigator, setRenderComponentNavigator] = useState(showComponentNavigator);
128
131
  const [componentNavigatorOpening, setComponentNavigatorOpening] = useState(false);
129
132
  const componentNavigatorWasOpenRef = useRef(showComponentNavigator);
133
+ const showComponentNavigatorRef = useRef(showComponentNavigator);
134
+ showComponentNavigatorRef.current = showComponentNavigator;
135
+ const handlePanelTransitionEnd = useCallback((panelName) => {
136
+ if (panelName === "form") {
137
+ editContext?.notifySurfaceSettled?.("editor-form");
138
+ return;
139
+ }
140
+ // Event-driven unmount once the navigator finishes collapsing.
141
+ if (panelName === "componentNavigator" && !showComponentNavigatorRef.current) {
142
+ setRenderComponentNavigator(false);
143
+ }
144
+ }, [editContext]);
130
145
  useEffect(() => {
131
146
  const wasOpen = componentNavigatorWasOpenRef.current;
132
147
  componentNavigatorWasOpenRef.current = showComponentNavigator;
@@ -149,15 +164,19 @@ function PageViewerContent({ pageViewContext, showFormEditor, compareView, name,
149
164
  setRenderComponentNavigator(false);
150
165
  return;
151
166
  }
167
+ // Primary unmount is event-driven (handlePanelTransitionEnd); this timeout is
168
+ // only a guardrail in case the collapse transitionend never arrives.
152
169
  const timeout = window.setTimeout(() => {
153
170
  setRenderComponentNavigator(false);
154
- }, COMPONENT_NAVIGATOR_COLLAPSE_ANIMATION_MS);
171
+ }, COMPONENT_NAVIGATOR_COLLAPSE_SAFETY_MS);
155
172
  return () => {
156
173
  window.clearTimeout(timeout);
157
174
  };
158
175
  }, [showComponentNavigator]);
159
176
  const hasOuterRightPanel = !!editContext?.showAgentsPanel ||
160
- !!(editContext?.showHelpTerminal && editContext?.currentItemDescriptor);
177
+ !!(editContext?.showHelpTerminal &&
178
+ !editContext?.isMobile &&
179
+ editContext?.currentItemDescriptor);
161
180
  const isVertical = !!editContext?.isMobile;
162
181
  const formPanelOpen = showFormEditor && !formEffectivelyHidden;
163
182
  const viewerPanels = [];
@@ -190,6 +209,6 @@ function PageViewerContent({ pageViewContext, showFormEditor, compareView, name,
190
209
  : "translate-x-4 opacity-0", !hasOuterRightPanel && "pr-2"), children: _jsxs("div", { className: "border-border-default flex h-full w-full flex-col rounded-md border bg-white", "data-testid": "slot-component-navigator", children: [_jsxs("div", { className: "border-border-default text-neutral-grey-100 flex items-center border-b py-2 pr-2 pl-3 text-sm font-medium", children: [_jsx("div", { className: "mr-2", children: _jsx(Layers, { className: "h-4 w-4", strokeWidth: 1 }) }), _jsx("div", { className: "mr-auto truncate", children: "Component Navigator" }), _jsx(CloseButton, { onClick: () => editContext?.setComponentNavigatorOpenForSlot?.(slotContext?.slotId ?? null, false), label: "Close", className: "ml-2" })] }), _jsx("div", { className: "min-h-0 flex-1 overflow-hidden", children: _jsx(ComponentTree, { pageViewContext: pageViewContext, itemDescriptor: treeItemDescriptor, item: treeItem, isLoading: treeIsLoading }) })] }) })),
191
210
  });
192
211
  }
193
- return (_jsx("div", { className: cn("h-full w-full", className), children: _jsx(Splitter, { panels: viewerPanels, splitterClassName: "bg-transparent -mr-2 md:w-[6px]", direction: isVertical ? "vertical" : "horizontal", localStorageKey: "editor.pageViewer.panels.v2" }) }));
212
+ return (_jsx("div", { className: cn("h-full w-full", className), children: _jsx(Splitter, { panels: viewerPanels, splitterClassName: "bg-transparent -mr-2 md:w-[6px]", direction: isVertical ? "vertical" : "horizontal", localStorageKey: "editor.pageViewer.panels.v2", onPanelTransitionEnd: handlePanelTransitionEnd }) }));
194
213
  }
195
214
  //# sourceMappingURL=PageViewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageViewer.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/PageViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageViewer.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/PageViewer.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { useSlotContext } from "../views/editorSlotContext";
6
6
  import { useDebouncedCallback, useThrottledCallback } from "use-debounce";
7
7
  import { PageEditorChrome } from "../page-editor-chrome/PageEditorChrome";
8
8
  import { useBridgeInlineEditing, } from "../page-editor-chrome/useBridgeInlineEditing";
9
+ import { getInlineAiAnchorFromBridgeToolbar, getVisibleBridgeToolbarRect, waitForVisibleBridgeToolbarRect, } from "../page-editor-chrome/bridgeInlineFormatToolbarLayout";
9
10
  import { IFRAME_OVERLAY_BRIDGE_GEOMETRY_EVENT, IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, IframeOverlayProvider, } from "../page-editor-chrome/overlay/IframeOverlayProvider";
10
11
  import { DEVICE_CHANGE_EVENT, useViewportChangeSignal, } from "./pageViewContext";
11
12
  import uuid from "react-uuid";
@@ -30,6 +31,7 @@ const ZOOM_MAX = 2;
30
31
  const ZOOM_STEP = 0.25;
31
32
  const ZOOM_TRANSITION_MS = 300;
32
33
  const BRIDGE_INLINE_EDIT_RELEASE_EVENT = "parhelia:bridge-inline-edit-release";
34
+ const INLINE_AI_CLOSE_EVENT = "inline-ai-close";
33
35
  function dispatchBridgeOverlayScroll(iframe, scroll, scrollScale = 1) {
34
36
  iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, {
35
37
  detail: {
@@ -143,6 +145,53 @@ function scrollBridgeBoundsIntoView(pageViewContext, bounds, currentScroll) {
143
145
  behavior: "smooth",
144
146
  }) ?? false);
145
147
  }
148
+ function getIframeWindowScroll(iframe) {
149
+ try {
150
+ const win = iframe?.contentWindow;
151
+ const doc = win?.document;
152
+ if (!win || !doc)
153
+ return undefined;
154
+ const scrollingElement = doc.scrollingElement;
155
+ return {
156
+ x: Math.max(win.scrollX || 0, scrollingElement?.scrollLeft || 0, doc.documentElement?.scrollLeft || 0, doc.body?.scrollLeft || 0),
157
+ y: Math.max(win.scrollY || 0, scrollingElement?.scrollTop || 0, doc.documentElement?.scrollTop || 0, doc.body?.scrollTop || 0),
158
+ };
159
+ }
160
+ catch {
161
+ return undefined;
162
+ }
163
+ }
164
+ function restoreIframeWindowScroll(iframe, targetScroll) {
165
+ if (!targetScroll)
166
+ return false;
167
+ try {
168
+ const win = iframe?.contentWindow;
169
+ if (!win)
170
+ return false;
171
+ let attempts = 0;
172
+ const apply = () => {
173
+ try {
174
+ attempts += 1;
175
+ win.scrollTo(targetScroll.x, targetScroll.y);
176
+ const settled = Math.abs((win.scrollX || 0) - targetScroll.x) <= 1 &&
177
+ Math.abs((win.scrollY || 0) - targetScroll.y) <= 1;
178
+ if (!settled && attempts < 8) {
179
+ window.requestAnimationFrame(apply);
180
+ }
181
+ }
182
+ catch {
183
+ // Cross-origin preview frames expose a WindowProxy, but reading named
184
+ // properties such as scrollTo/scrollX can throw. In that case the
185
+ // bridge-side scroll restoration is responsible for preserving scroll.
186
+ }
187
+ };
188
+ window.requestAnimationFrame(apply);
189
+ return true;
190
+ }
191
+ catch {
192
+ return false;
193
+ }
194
+ }
146
195
  function applyIframeZoom(_iframe, _zoom, _location) {
147
196
  // Zoom is applied inside the page host through the bridge setZoom command.
148
197
  }
@@ -303,6 +352,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
303
352
  const bridgeTextRangeSourcesRef = useRef(new Map());
304
353
  const activeBridgeInlineEditRef = useRef(null);
305
354
  const latestBridgeScrollRef = useRef(undefined);
355
+ const pendingRefreshScrollRef = useRef(undefined);
306
356
  const suppressNextSelectionScrollRef = useRef(false);
307
357
  // Tracks the selection we last evaluated for auto-scroll. The selection
308
358
  // effect also depends on focusedField, so it re-runs when a field blurs
@@ -607,11 +657,17 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
607
657
  activeEl?.closest(".agent-inline-trigger") ||
608
658
  activeEl?.closest('[role="dialog"]'));
609
659
  };
660
+ const isInlineAiUiPresent = () => !!document.querySelector(".agent-inline-dialog, .agent-inline-trigger");
661
+ const inlineAiUiFocused = isInlineAiUiFocused();
662
+ const inlineAiUiPresent = isInlineAiUiPresent();
663
+ if (selection.collapsed && (inlineAiUiFocused || inlineAiUiPresent)) {
664
+ return;
665
+ }
610
666
  if (selection.collapsed ||
611
667
  !selection.text ||
612
668
  !selection.activeField?.fieldId) {
613
669
  sendBridgeRemoteCaretPosition(selection);
614
- if (!isInlineAiUiFocused()) {
670
+ if (!inlineAiUiFocused && !inlineAiUiPresent) {
615
671
  editor.setSelectedRange(undefined);
616
672
  }
617
673
  return;
@@ -654,6 +710,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
654
710
  contextAfter: typeof metadata.contextAfter === "string"
655
711
  ? metadata.contextAfter
656
712
  : undefined,
713
+ formatting: selection.formatting,
657
714
  clientRect: selectionRect,
658
715
  };
659
716
  editor.setSelectedRange(nextRange);
@@ -766,9 +823,44 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
766
823
  if (editor && field) {
767
824
  await editor.setFocusedField(field, editor.mode !== "suggestions");
768
825
  }
826
+ const iframeRect = iframe.getBoundingClientRect();
827
+ const bridgeSelection = pageViewContextRef.current?.bridgeSelection;
828
+ const fallbackCaretRect = !interaction.selectionRect &&
829
+ !interaction.caretRect &&
830
+ bridgeSelection?.collapsed &&
831
+ bridgeSelection.rect &&
832
+ bridgeSelection.activeField?.fieldId &&
833
+ bridgeIdsMatch(bridgeSelection.activeField.fieldId, interaction.fieldId)
834
+ ? bridgeSelection.rect
835
+ : undefined;
836
+ const resolvedSelectionRect = interaction.selectionRect ??
837
+ interaction.caretRect ??
838
+ fallbackCaretRect;
839
+ const toolbarRect = await waitForVisibleBridgeToolbarRect();
840
+ const selectedRange = editContextRef.current?.selectedRange ?? editor?.selectedRange;
841
+ const toolbarAnchor = getInlineAiAnchorFromBridgeToolbar(selectedRange, toolbarRect ?? getVisibleBridgeToolbarRect());
842
+ const caretAnchor = toolbarAnchor
843
+ ? toolbarAnchor
844
+ : selectedRange?.text && selectedRange.clientRect
845
+ ? {
846
+ x: selectedRange.clientRect.left +
847
+ selectedRange.clientRect.width / 2,
848
+ y: selectedRange.clientRect.bottom,
849
+ origin: "caret",
850
+ }
851
+ : resolvedSelectionRect
852
+ ? {
853
+ x: iframeRect.left +
854
+ resolvedSelectionRect.left +
855
+ (resolvedSelectionRect.width ?? 0) / 2,
856
+ y: iframeRect.top + resolvedSelectionRect.bottom,
857
+ origin: "caret",
858
+ }
859
+ : undefined;
769
860
  document.dispatchEvent(new CustomEvent("inline-ai-open", {
770
861
  bubbles: true,
771
862
  cancelable: true,
863
+ detail: caretAnchor ? { anchor: caretAnchor } : undefined,
772
864
  }));
773
865
  }
774
866
  return;
@@ -810,6 +902,27 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
810
902
  !effectiveInteraction.ctrlKey &&
811
903
  !effectiveInteraction.shiftKey &&
812
904
  !effectiveInteraction.metaKey);
905
+ const isInlineAiUiPresent = () => !!document.querySelector(".agent-inline-dialog, .agent-inline-trigger");
906
+ const closeInlineAiIfOpen = (clearSelection = true) => {
907
+ if (!isInlineAiUiPresent())
908
+ return;
909
+ if (clearSelection) {
910
+ editor.setSelectedRange(undefined);
911
+ }
912
+ document.dispatchEvent(new CustomEvent(INLINE_AI_CLOSE_EVENT));
913
+ };
914
+ const clearSelectedRangeForEditableClick = () => {
915
+ const selectedRange = editor.selectedRange;
916
+ const clickMatchesActiveTextSelection = !!(selectedRange?.text?.trim() &&
917
+ selectedRange.elementKey &&
918
+ effectiveInteraction.elementKey &&
919
+ selectedRange.elementKey === effectiveInteraction.elementKey);
920
+ if (clickMatchesActiveTextSelection) {
921
+ closeInlineAiIfOpen(false);
922
+ return;
923
+ }
924
+ closeInlineAiIfOpen(true);
925
+ };
813
926
  const currentOverlay = editor.currentOverlay;
814
927
  const isGeneratorOverlay = !!(currentOverlay &&
815
928
  typeof currentOverlay === "string" &&
@@ -826,9 +939,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
826
939
  if (interaction.kind === "click")
827
940
  selectFromBridgeInteraction([]);
828
941
  if (isEditableFieldClick) {
942
+ clearSelectedRangeForEditableClick();
829
943
  await beginTrackedBridgeInlineEdit(effectiveInteraction);
830
944
  }
831
945
  else if (interaction.kind === "click") {
946
+ closeInlineAiIfOpen();
832
947
  endTrackedBridgeFieldFocus();
833
948
  }
834
949
  return;
@@ -962,9 +1077,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
962
1077
  }
963
1078
  selectFromBridgeInteraction([componentId]);
964
1079
  if (isEditableFieldClick) {
1080
+ clearSelectedRangeForEditableClick();
965
1081
  await beginTrackedBridgeInlineEdit(effectiveInteraction);
966
1082
  }
967
1083
  else {
1084
+ closeInlineAiIfOpen();
968
1085
  endTrackedBridgeFieldFocus();
969
1086
  }
970
1087
  }, [
@@ -981,7 +1098,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
981
1098
  if (!iframe)
982
1099
  return;
983
1100
  const currentIframeSrc = iframe.src;
984
- if (!iframeSrc || !loadedIframeSrc || loadedIframeSrc !== currentIframeSrc) {
1101
+ if (!iframeSrc ||
1102
+ !loadedIframeSrc ||
1103
+ loadedIframeSrc !== currentIframeSrc) {
985
1104
  pageViewContext.setBridgeReady(false);
986
1105
  pageViewContext.setIframeSupportsRefresh(false);
987
1106
  return;
@@ -1096,6 +1215,24 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1096
1215
  scrollHandlerRef.current(event.payload.geometry.scroll.y);
1097
1216
  }
1098
1217
  }
1218
+ if (pendingRefreshScrollRef.current) {
1219
+ const targetScroll = pendingRefreshScrollRef.current;
1220
+ const observedScroll = event.payload.geometry?.scroll ?? {
1221
+ x: 0,
1222
+ y: 0,
1223
+ };
1224
+ const deltaX = targetScroll.x - observedScroll.x;
1225
+ const deltaY = targetScroll.y - observedScroll.y;
1226
+ pendingRefreshScrollRef.current = undefined;
1227
+ if (Math.abs(deltaX) > 1 || Math.abs(deltaY) > 1) {
1228
+ restoreIframeWindowScroll(iframe, targetScroll);
1229
+ bridgeClientRef.current?.sendCommand("scrollBy", {
1230
+ x: deltaX,
1231
+ y: deltaY,
1232
+ behavior: "instant",
1233
+ });
1234
+ }
1235
+ }
1099
1236
  setShowSpinner(false);
1100
1237
  break;
1101
1238
  case "selectionChanged":
@@ -1486,6 +1623,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1486
1623
  const shouldUseIframeSrcReload = initialLoad || pageViewContext.fullscreen || iframeOriginChanged;
1487
1624
  function runFallbackRefresh() {
1488
1625
  pageViewContext.setIframeSupportsRefresh(false);
1626
+ pendingRefreshScrollRef.current ??=
1627
+ getIframeWindowScroll(iframeRef.current) ??
1628
+ latestBridgeScrollRef.current;
1489
1629
  setShowSpinner(true);
1490
1630
  console.log(initialLoad
1491
1631
  ? "Initial load - setting iframe src"
@@ -1498,6 +1638,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1498
1638
  setIframeSrc(renderUrl.toString());
1499
1639
  }
1500
1640
  function runBridgeRefresh() {
1641
+ pendingRefreshScrollRef.current =
1642
+ getIframeWindowScroll(iframeRef.current) ??
1643
+ latestBridgeScrollRef.current;
1501
1644
  const bridge = bridgeClientRef.current;
1502
1645
  if (!bridge?.supportsCapability("refresh")) {
1503
1646
  runFallbackRefresh();
@@ -1511,6 +1654,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1511
1654
  layoutKind: editContext.layoutMode,
1512
1655
  });
1513
1656
  if (!accepted) {
1657
+ pendingRefreshScrollRef.current = undefined;
1514
1658
  pageViewContext.setIframeSupportsRefresh(false);
1515
1659
  runFallbackRefresh();
1516
1660
  }
@@ -1745,6 +1889,17 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1745
1889
  if (iframeSrc) {
1746
1890
  setShowSpinner(false);
1747
1891
  applyIframeZoom(iframeRef.current, zoom, "PageViewerFrame.tsx:onLoad-zoom");
1892
+ if (pendingRefreshScrollRef.current) {
1893
+ const targetScroll = pendingRefreshScrollRef.current;
1894
+ pendingRefreshScrollRef.current = undefined;
1895
+ restoreIframeWindowScroll(iframeRef.current, targetScroll);
1896
+ const observedScroll = getIframeWindowScroll(iframeRef.current) ?? { x: 0, y: 0 };
1897
+ bridgeClientRef.current?.sendCommand("scrollBy", {
1898
+ x: targetScroll.x - observedScroll.x,
1899
+ y: targetScroll.y - observedScroll.y,
1900
+ behavior: "instant",
1901
+ });
1902
+ }
1748
1903
  }
1749
1904
  } }), iframeElement && (_jsx(IframeOverlayProvider, { iframe: iframeElement, mode: "scrolling", scrollScale: 1, visualScale: 1, invalidationKey: `${zoom}:${bridgeGeometryRevision}`, deferredInvalidationMs: ZOOM_TRANSITION_MS + 50, 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 &&
1750
1905
  showMiniMap &&