@parhelia/core 0.1.12894 → 0.1.12900

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 (583) hide show
  1. package/dist/agents-view/AgentCard.js +1 -1
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentProfileIcon.d.ts +1 -1
  4. package/dist/agents-view/AgentProfileIcon.js +4 -0
  5. package/dist/agents-view/AgentProfileIcon.js.map +1 -1
  6. package/dist/agents-view/AgentsView.js +2 -2
  7. package/dist/agents-view/AgentsWorkspaceView.js +10 -24
  8. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  9. package/dist/agents-view/ProfileAgentsGroup.js +2 -3
  10. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  11. package/dist/components/MarkdownDisplay.js +1 -1
  12. package/dist/components/MarkdownDisplay.js.map +1 -1
  13. package/dist/components/{FilterInput.d.ts → SearchInput.d.ts} +9 -7
  14. package/dist/components/SearchInput.js +38 -0
  15. package/dist/components/SearchInput.js.map +1 -0
  16. package/dist/components/index.d.ts +2 -2
  17. package/dist/components/index.js +1 -1
  18. package/dist/components/ui/LanguageSelectionGrid.js +2 -1
  19. package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
  20. package/dist/components/ui/LanguageSelector.d.ts +2 -1
  21. package/dist/components/ui/LanguageSelector.js +4 -4
  22. package/dist/components/ui/LanguageSelector.js.map +1 -1
  23. package/dist/components/ui/badge.d.ts +5 -1
  24. package/dist/components/ui/badge.js +8 -3
  25. package/dist/components/ui/badge.js.map +1 -1
  26. package/dist/components/ui/button.js +4 -5
  27. package/dist/components/ui/button.js.map +1 -1
  28. package/dist/components/ui/checkbox.js +1 -1
  29. package/dist/components/ui/checkbox.js.map +1 -1
  30. package/dist/components/ui/command.d.ts +2 -1
  31. package/dist/components/ui/command.js +7 -3
  32. package/dist/components/ui/command.js.map +1 -1
  33. package/dist/components/ui/context-menu.d.ts +13 -0
  34. package/dist/components/ui/context-menu.js +61 -57
  35. package/dist/components/ui/context-menu.js.map +1 -1
  36. package/dist/components/ui/dropdown-menu.js +4 -4
  37. package/dist/components/ui/dropdown-menu.js.map +1 -1
  38. package/dist/components/ui/input.js +2 -2
  39. package/dist/components/ui/input.js.map +1 -1
  40. package/dist/components/ui/switch.js +1 -1
  41. package/dist/components/ui/switch.js.map +1 -1
  42. package/dist/components/ui/textarea.js +1 -1
  43. package/dist/components/ui/textarea.js.map +1 -1
  44. package/dist/config/config.js +40 -15
  45. package/dist/config/config.js.map +1 -1
  46. package/dist/config/notificationRoutes.js +2 -2
  47. package/dist/config/notificationRoutes.js.map +1 -1
  48. package/dist/editor/ContentTree.js +13 -5
  49. package/dist/editor/ContentTree.js.map +1 -1
  50. package/dist/editor/ContextMenu.js +4 -6
  51. package/dist/editor/ContextMenu.js.map +1 -1
  52. package/dist/editor/FieldList.js +2 -2
  53. package/dist/editor/FieldListField.js +14 -7
  54. package/dist/editor/FieldListField.js.map +1 -1
  55. package/dist/editor/GlobalMenuBar.js +1 -2
  56. package/dist/editor/GlobalMenuBar.js.map +1 -1
  57. package/dist/editor/ImageEditor.js +1 -1
  58. package/dist/editor/ImageEditor.js.map +1 -1
  59. package/dist/editor/LinkEditorDialog.js +13 -0
  60. package/dist/editor/LinkEditorDialog.js.map +1 -1
  61. package/dist/editor/MainLayout.js +66 -9
  62. package/dist/editor/MainLayout.js.map +1 -1
  63. package/dist/editor/Titlebar.js +1 -1
  64. package/dist/editor/Titlebar.js.map +1 -1
  65. package/dist/editor/WorkspaceTitleSwitcher.js +12 -31
  66. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
  67. package/dist/editor/ai/AgentProfileSelector.js +4 -4
  68. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  69. package/dist/editor/ai/AgentStatusBadge.js +3 -11
  70. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  71. package/dist/editor/ai/Agents.js +46 -41
  72. package/dist/editor/ai/Agents.js.map +1 -1
  73. package/dist/editor/ai/ContentInspectorPopover.js +8 -8
  74. package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
  75. package/dist/editor/ai/InlineAiDialog.js +24 -26
  76. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  77. package/dist/editor/ai/InlineAiTrigger.js +30 -1
  78. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  79. package/dist/editor/ai/agentActivitySummary.d.ts +108 -0
  80. package/dist/editor/ai/agentActivitySummary.js +390 -0
  81. package/dist/editor/ai/agentActivitySummary.js.map +1 -0
  82. package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js +2 -2
  83. package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js.map +1 -1
  84. package/dist/editor/ai/terminal/agentContextMerge.d.ts +19 -0
  85. package/dist/editor/ai/terminal/agentContextMerge.js +88 -0
  86. package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -0
  87. package/dist/editor/ai/terminal/components/ActivitySummaryCell.d.ts +21 -0
  88. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +133 -0
  89. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -0
  90. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +7 -0
  91. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +48 -0
  92. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -0
  93. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +1 -1
  94. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -1
  95. package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +2 -1
  96. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +13 -13
  97. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  98. package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
  99. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  100. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +1 -1
  101. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -1
  102. package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +1 -1
  103. package/dist/editor/ai/terminal/components/AgentModeSelector.js +86 -9
  104. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  105. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +1 -1
  106. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -1
  107. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +2 -2
  108. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  109. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -2
  110. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +4 -27
  111. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  112. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +2 -2
  113. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +15 -12
  114. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  115. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  116. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  117. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -0
  118. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  119. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +1 -3
  120. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
  121. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +10 -10
  122. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +17 -3
  123. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
  125. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +59 -5
  126. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  127. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
  128. package/dist/editor/ai/terminal/components/AgentTerminalView.js +5 -4
  129. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  130. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -0
  131. package/dist/editor/ai/terminal/components/AiResponseMessage.js +84 -28
  132. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  133. package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +2 -4
  134. package/dist/editor/ai/terminal/components/ContextInfoBar.js +93 -223
  135. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  136. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +7 -45
  137. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  138. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +0 -4
  139. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +1 -7
  140. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -1
  141. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
  142. package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
  143. package/dist/editor/ai/terminal/useAgentQuickActions.js +61 -3
  144. package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
  145. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +0 -2
  146. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  147. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +3 -3
  148. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
  149. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +0 -3
  150. package/dist/editor/ai/terminal/useAgentSkillActions.js +8 -26
  151. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
  152. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +1 -5
  153. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +6 -19
  154. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  155. package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +1 -3
  156. package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
  157. package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
  158. package/dist/editor/ai/terminal/useAgentTerminalController.js +18 -22
  159. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  160. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  161. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -2
  162. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  163. package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +0 -6
  164. package/dist/editor/ai/terminal/useAgentTerminalViewState.js +2 -16
  165. package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -1
  166. package/dist/editor/ai/useActiveAgentConversation.d.ts +2 -0
  167. package/dist/editor/ai/useActiveAgentConversation.js +20 -0
  168. package/dist/editor/ai/useActiveAgentConversation.js.map +1 -1
  169. package/dist/editor/bridge/protocol.d.ts +48 -0
  170. package/dist/editor/bridge/protocol.js +13 -1
  171. package/dist/editor/bridge/protocol.js.map +1 -1
  172. package/dist/editor/client/EditorShell.d.ts +2 -0
  173. package/dist/editor/client/EditorShell.js +129 -29
  174. package/dist/editor/client/EditorShell.js.map +1 -1
  175. package/dist/editor/client/editContext.d.ts +30 -4
  176. package/dist/editor/client/editContext.js.map +1 -1
  177. package/dist/editor/client/hooks/useReducedMotion.d.ts +8 -0
  178. package/dist/editor/client/hooks/useReducedMotion.js +12 -0
  179. package/dist/editor/client/hooks/useReducedMotion.js.map +1 -0
  180. package/dist/editor/client/manualShowMeFocus.d.ts +17 -0
  181. package/dist/editor/client/manualShowMeFocus.js +32 -0
  182. package/dist/editor/client/manualShowMeFocus.js.map +1 -0
  183. package/dist/editor/client/ui/FullscreenControls.js +5 -5
  184. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  185. package/dist/editor/commands/componentCommands.js +30 -1
  186. package/dist/editor/commands/componentCommands.js.map +1 -1
  187. package/dist/editor/commands/keyboardCommands.d.ts +6 -0
  188. package/dist/editor/commands/keyboardCommands.js +74 -0
  189. package/dist/editor/commands/keyboardCommands.js.map +1 -1
  190. package/dist/editor/commands/reorderComponent.d.ts +20 -0
  191. package/dist/editor/commands/reorderComponent.js +40 -0
  192. package/dist/editor/commands/reorderComponent.js.map +1 -0
  193. package/dist/editor/commands/undo.js +3 -3
  194. package/dist/editor/commands/undo.js.map +1 -1
  195. package/dist/editor/componentFrameColors.d.ts +11 -0
  196. package/dist/editor/componentFrameColors.js +47 -0
  197. package/dist/editor/componentFrameColors.js.map +1 -0
  198. package/dist/editor/context-menu/InsertMenu.js +2 -2
  199. package/dist/editor/field-types/RichTextEditor.js +25 -6
  200. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  201. package/dist/editor/field-types/RichTextEditorComponent.js +14 -1
  202. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  203. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +4 -1
  204. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +33 -5
  205. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
  206. package/dist/editor/insertMenuItems.d.ts +11 -0
  207. package/dist/editor/insertMenuItems.js +9 -0
  208. package/dist/editor/insertMenuItems.js.map +1 -1
  209. package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
  210. package/dist/editor/media-selector/MediaFolderBrowser.js +2 -2
  211. package/dist/editor/menubar/ActiveUsers.js +3 -3
  212. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  213. package/dist/editor/menubar/FavoritesControls.js +46 -27
  214. package/dist/editor/menubar/FavoritesControls.js.map +1 -1
  215. package/dist/editor/menubar/GenericToolbar.js +2 -1
  216. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  217. package/dist/editor/menubar/ItemLanguageVersion.js +7 -5
  218. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  219. package/dist/editor/menubar/PageSelector.js +3 -3
  220. package/dist/editor/menubar/PageSelector.js.map +1 -1
  221. package/dist/editor/menubar/PreviewDatePicker.js +40 -21
  222. package/dist/editor/menubar/PreviewDatePicker.js.map +1 -1
  223. package/dist/editor/menubar/Separator.d.ts +2 -1
  224. package/dist/editor/menubar/Separator.js +2 -2
  225. package/dist/editor/menubar/Separator.js.map +1 -1
  226. package/dist/editor/menubar/ToolbarFactory.js +24 -17
  227. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  228. package/dist/editor/menubar/VersionSelector.d.ts +2 -1
  229. package/dist/editor/menubar/VersionSelector.js +3 -3
  230. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  231. package/dist/editor/menubar/WorkflowButton.js +17 -25
  232. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  233. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.d.ts +1 -0
  234. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js +13 -0
  235. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js.map +1 -0
  236. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +1 -1
  237. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  238. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +104 -9
  239. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  240. package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +4 -2
  241. package/dist/editor/menubar/toolbar-sections/EditControls.js +78 -11
  242. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  243. package/dist/editor/menubar/toolbar-sections/FullscreenControl.d.ts +1 -0
  244. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +15 -0
  245. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -0
  246. package/dist/editor/menubar/toolbar-sections/InsertControls.js +1 -1
  247. package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
  248. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +12 -0
  249. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +171 -28
  250. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  251. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -1
  252. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
  253. package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +3 -1
  254. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +11 -3
  255. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  256. package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +1 -0
  257. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +48 -29
  258. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  259. package/dist/editor/menubar/toolbar-sections/index.d.ts +2 -1
  260. package/dist/editor/menubar/toolbar-sections/index.js +2 -1
  261. package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
  262. package/dist/editor/notifications/NotificationCenter.d.ts +4 -1
  263. package/dist/editor/notifications/NotificationCenter.js +13 -4
  264. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  265. package/dist/editor/notifications/WatchButton.d.ts +4 -2
  266. package/dist/editor/notifications/WatchButton.js +78 -20
  267. package/dist/editor/notifications/WatchButton.js.map +1 -1
  268. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +71 -6
  269. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  270. package/dist/editor/page-editor-chrome/CommentHighlightings.js +36 -40
  271. package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
  272. package/dist/editor/page-editor-chrome/DragInsertionOverlay.d.ts +36 -0
  273. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +879 -0
  274. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -0
  275. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +1 -0
  276. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +3 -3
  277. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
  278. package/dist/editor/page-editor-chrome/FrameMenu.d.ts +3 -2
  279. package/dist/editor/page-editor-chrome/FrameMenu.js +49 -119
  280. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  281. package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
  282. package/dist/editor/page-editor-chrome/FrameMenus.js +65 -15
  283. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  284. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +25 -0
  285. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +30 -0
  286. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -0
  287. package/dist/editor/page-editor-chrome/PageEditorChrome.js +14 -2
  288. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  289. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +33 -2
  290. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +94 -71
  291. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  292. package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +13 -2
  293. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +105 -203
  294. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  295. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +51 -88
  296. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  297. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +2 -1
  298. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
  299. package/dist/editor/page-editor-chrome/componentDragObject.d.ts +10 -0
  300. package/dist/editor/page-editor-chrome/componentDragObject.js +22 -0
  301. package/dist/editor/page-editor-chrome/componentDragObject.js.map +1 -0
  302. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +32 -0
  303. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +8 -0
  304. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  305. package/dist/editor/page-editor-chrome/overlay/InsertionLine.d.ts +44 -0
  306. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js +160 -0
  307. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js.map +1 -0
  308. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +39 -0
  309. package/dist/editor/page-editor-chrome/overlay/geometry.js +67 -10
  310. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  311. package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +66 -0
  312. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +274 -0
  313. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -0
  314. package/dist/editor/page-editor-chrome/useComponentDragHandle.d.ts +23 -0
  315. package/dist/editor/page-editor-chrome/useComponentDragHandle.js +41 -0
  316. package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -0
  317. package/dist/editor/page-editor-chrome/useDragInsertionGesture.d.ts +23 -0
  318. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +207 -0
  319. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -0
  320. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +2 -0
  321. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +18 -0
  322. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -0
  323. package/dist/editor/page-viewer/EditorForm.js +14 -12
  324. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  325. package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +2 -2
  326. package/dist/editor/page-viewer/EditorFormHintPopover.js +4 -4
  327. package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
  328. package/dist/editor/page-viewer/MiniMap.d.ts +6 -0
  329. package/dist/editor/page-viewer/MiniMap.js +97 -12
  330. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  331. package/dist/editor/page-viewer/MinimapDropTargets.d.ts +13 -0
  332. package/dist/editor/page-viewer/MinimapDropTargets.js +140 -0
  333. package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -0
  334. package/dist/editor/page-viewer/PageViewer.js +96 -10
  335. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  336. package/dist/editor/page-viewer/PageViewerFrame.js +267 -7
  337. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  338. package/dist/editor/page-viewer/pageViewContext.d.ts +4 -1
  339. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  340. package/dist/editor/personalization/RuleElementPicker.js +3 -2
  341. package/dist/editor/personalization/RuleElementPicker.js.map +1 -1
  342. package/dist/editor/reviews/Comment.js +2 -0
  343. package/dist/editor/reviews/Comment.js.map +1 -1
  344. package/dist/editor/reviews/CommentDisplayPopover.js +5 -2
  345. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  346. package/dist/editor/reviews/CommentPopover.d.ts +4 -0
  347. package/dist/editor/reviews/CommentPopover.js +15 -1
  348. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  349. package/dist/editor/reviews/Comments.js +61 -44
  350. package/dist/editor/reviews/Comments.js.map +1 -1
  351. package/dist/editor/reviews/DecisionsMatrix.js +3 -3
  352. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  353. package/dist/editor/reviews/FeedbackModeIntro.d.ts +15 -0
  354. package/dist/editor/reviews/FeedbackModeIntro.js +22 -0
  355. package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -0
  356. package/dist/editor/reviews/LatestFeedback.js +8 -2
  357. package/dist/editor/reviews/LatestFeedback.js.map +1 -1
  358. package/dist/editor/reviews/ReviewersPanel.js +2 -1
  359. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  360. package/dist/editor/reviews/ReviewsList.js +2 -2
  361. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  362. package/dist/editor/reviews/SuggestedEdit.js +9 -7
  363. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  364. package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -3
  365. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  366. package/dist/editor/reviews/feedbackScrollTarget.d.ts +19 -0
  367. package/dist/editor/reviews/feedbackScrollTarget.js +171 -0
  368. package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -0
  369. package/dist/editor/reviews/feedbackSelection.js +4 -4
  370. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  371. package/dist/editor/reviews/latestFeedbackData.js +1 -1
  372. package/dist/editor/reviews/openCommentsFeedback.d.ts +35 -0
  373. package/dist/editor/reviews/openCommentsFeedback.js +89 -0
  374. package/dist/editor/reviews/openCommentsFeedback.js.map +1 -0
  375. package/dist/editor/services/agentService.d.ts +5 -0
  376. package/dist/editor/services/agentService.js.map +1 -1
  377. package/dist/editor/services/aiService.d.ts +0 -2
  378. package/dist/editor/services/aiService.js.map +1 -1
  379. package/dist/editor/services/editService.d.ts +1 -0
  380. package/dist/editor/services/editService.js +4 -0
  381. package/dist/editor/services/editService.js.map +1 -1
  382. package/dist/editor/settings/IndexOverview.js +2 -2
  383. package/dist/editor/settings/IndexOverview.js.map +1 -1
  384. package/dist/editor/settings/QuotaInfo.js +2 -2
  385. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  386. package/dist/editor/settings/SettingsBreadcrumb.js +8 -2
  387. package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
  388. package/dist/editor/settings/SettingsPanelLayout.js +1 -1
  389. package/dist/editor/settings/SettingsPanelLayout.js.map +1 -1
  390. package/dist/editor/settings/SettingsView.js +7 -9
  391. package/dist/editor/settings/SettingsView.js.map +1 -1
  392. package/dist/editor/settings/StatusSummary.js +7 -17
  393. package/dist/editor/settings/StatusSummary.js.map +1 -1
  394. package/dist/editor/settings/panels/AgentToolsPanel.js +3 -2
  395. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  396. package/dist/editor/settings/panels/AgentsPanel.js +2 -2
  397. package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
  398. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  399. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +4 -2
  400. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
  401. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +3 -2
  402. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
  403. package/dist/editor/settings/panels/ItemConfigPanel.js +3 -2
  404. package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
  405. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +2 -1
  406. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  407. package/dist/editor/settings/panels/JavaScriptToolsPanel.js +2 -2
  408. package/dist/editor/settings/panels/ModelsPanel.js +2 -2
  409. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +2 -1
  410. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
  411. package/dist/editor/settings/panels/PersistentLogsPanel.js +4 -2
  412. package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
  413. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +2 -1
  414. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  415. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +4 -3
  416. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js.map +1 -1
  417. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -3
  418. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  419. package/dist/editor/settings/panels/SearchConfigPanel.js +3 -2
  420. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  421. package/dist/editor/settings/panels/StatusPanel.js +3 -2
  422. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  423. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js +2 -1
  424. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js.map +1 -1
  425. package/dist/editor/sidebar/ComponentPalette.d.ts +1 -1
  426. package/dist/editor/sidebar/ComponentPalette.js +60 -27
  427. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  428. package/dist/editor/sidebar/ComponentTree.js +92 -8
  429. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  430. package/dist/editor/sidebar/ContentTreePanel.d.ts +3 -0
  431. package/dist/editor/sidebar/ContentTreePanel.js +14 -0
  432. package/dist/editor/sidebar/ContentTreePanel.js.map +1 -0
  433. package/dist/editor/sidebar/EditHistory.js +2 -2
  434. package/dist/editor/sidebar/Favorites.js +2 -2
  435. package/dist/editor/sidebar/Favorites.js.map +1 -1
  436. package/dist/editor/sidebar/NavigationPanelItem.js +2 -1
  437. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  438. package/dist/editor/sidebar/OperationItem.js +98 -17
  439. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  440. package/dist/editor/sidebar/Workbox.js +15 -134
  441. package/dist/editor/sidebar/Workbox.js.map +1 -1
  442. package/dist/editor/sidebar/WorkspaceButton.js +1 -1
  443. package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
  444. package/dist/editor/sidebar/WorkspaceRail.js +12 -9
  445. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  446. package/dist/editor/sidebar/contentTreeConstants.d.ts +2 -0
  447. package/dist/editor/sidebar/contentTreeConstants.js +3 -0
  448. package/dist/editor/sidebar/contentTreeConstants.js.map +1 -0
  449. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +2 -2
  450. package/dist/editor/tree-indicators/GutterColumns.js +4 -14
  451. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  452. package/dist/editor/ui/IconSelectorDialog.js +3 -3
  453. package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
  454. package/dist/editor/ui/ItemCollectionEditor.js +3 -2
  455. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  456. package/dist/editor/ui/ItemSearch.js +2 -2
  457. package/dist/editor/ui/LoadingState.d.ts +11 -0
  458. package/dist/editor/ui/LoadingState.js +27 -0
  459. package/dist/editor/ui/LoadingState.js.map +1 -0
  460. package/dist/editor/ui/PerfectTree.d.ts +22 -1
  461. package/dist/editor/ui/PerfectTree.js +17 -11
  462. package/dist/editor/ui/PerfectTree.js.map +1 -1
  463. package/dist/editor/ui/PublishDialog.d.ts +11 -0
  464. package/dist/editor/ui/PublishDialog.js +101 -0
  465. package/dist/editor/ui/PublishDialog.js.map +1 -0
  466. package/dist/editor/ui/PublishItemDialog.js +2 -1
  467. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  468. package/dist/editor/ui/PublishRestrictionsDialog.js +3 -2
  469. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  470. package/dist/editor/ui/SimpleIconButton.d.ts +6 -0
  471. package/dist/editor/ui/SimpleIconButton.js +13 -4
  472. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  473. package/dist/editor/ui/SimpleMenu.js +4 -4
  474. package/dist/editor/ui/SimpleMenu.js.map +1 -1
  475. package/dist/editor/ui/SimpleTabs.js +1 -1
  476. package/dist/editor/ui/Spinner.d.ts +14 -1
  477. package/dist/editor/ui/Spinner.js.map +1 -1
  478. package/dist/editor/ui/WorkboxItemsTable.d.ts +15 -0
  479. package/dist/editor/ui/WorkboxItemsTable.js +142 -0
  480. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -0
  481. package/dist/index.d.ts +6 -0
  482. package/dist/index.js +3 -0
  483. package/dist/index.js.map +1 -1
  484. package/dist/lib/pointerDrag.d.ts +20 -0
  485. package/dist/lib/pointerDrag.js +57 -0
  486. package/dist/lib/pointerDrag.js.map +1 -0
  487. package/dist/logging/consolePrefix.d.ts +2 -0
  488. package/dist/logging/consolePrefix.js +49 -0
  489. package/dist/logging/consolePrefix.js.map +1 -0
  490. package/dist/logging/index.d.ts +1 -0
  491. package/dist/logging/index.js +2 -0
  492. package/dist/logging/index.js.map +1 -0
  493. package/dist/logging/install-browser-console.d.ts +1 -0
  494. package/dist/logging/install-browser-console.js +3 -0
  495. package/dist/logging/install-browser-console.js.map +1 -0
  496. package/dist/revision.d.ts +2 -2
  497. package/dist/revision.js +2 -2
  498. package/dist/setup/wizard/steps/ImportModelDialog.js +3 -3
  499. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  500. package/dist/splash-screen/ModernSplashScreen.js +2 -1
  501. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  502. package/dist/task-board/TaskBoardWorkspace.js +181 -35
  503. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  504. package/dist/task-board/components/CommentsList.js +20 -9
  505. package/dist/task-board/components/CommentsList.js.map +1 -1
  506. package/dist/task-board/components/FinishedProjectCard.d.ts +5 -0
  507. package/dist/task-board/components/FinishedProjectCard.js +8 -0
  508. package/dist/task-board/components/FinishedProjectCard.js.map +1 -0
  509. package/dist/task-board/components/ProjectDashboard.d.ts +10 -1
  510. package/dist/task-board/components/ProjectDashboard.js +90 -6
  511. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  512. package/dist/task-board/components/ProjectListContent.js +3 -2
  513. package/dist/task-board/components/ProjectListContent.js.map +1 -1
  514. package/dist/task-board/components/ProjectOverviewContent.js +3 -2
  515. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  516. package/dist/task-board/components/TaskAgentPanel.d.ts +4 -0
  517. package/dist/task-board/components/TaskAgentPanel.js +12 -6
  518. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  519. package/dist/task-board/components/TaskAssigneeBadge.d.ts +16 -0
  520. package/dist/task-board/components/TaskAssigneeBadge.js +21 -0
  521. package/dist/task-board/components/TaskAssigneeBadge.js.map +1 -0
  522. package/dist/task-board/components/TaskAssigneePicker.js +12 -10
  523. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  524. package/dist/task-board/components/TaskAttachmentDropZone.d.ts +11 -0
  525. package/dist/task-board/components/TaskAttachmentDropZone.js +100 -0
  526. package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -0
  527. package/dist/task-board/components/TaskAttachmentsSection.d.ts +1 -0
  528. package/dist/task-board/components/TaskAttachmentsSection.js +15 -41
  529. package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
  530. package/dist/task-board/components/TaskBoardFilterBox.d.ts +4 -0
  531. package/dist/task-board/components/TaskBoardFilterBox.js +7 -0
  532. package/dist/task-board/components/TaskBoardFilterBox.js.map +1 -0
  533. package/dist/task-board/components/TaskBoardMyTasksSidebar.js +2 -2
  534. package/dist/task-board/components/TaskBoardProjectListSidebar.js +5 -6
  535. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  536. package/dist/task-board/components/TaskCard.js +26 -15
  537. package/dist/task-board/components/TaskCard.js.map +1 -1
  538. package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
  539. package/dist/task-board/components/TaskDetailPanel.js +15 -12
  540. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  541. package/dist/task-board/components/TaskReviewActions.d.ts +1 -0
  542. package/dist/task-board/components/TaskReviewActions.js +4 -2
  543. package/dist/task-board/components/TaskReviewActions.js.map +1 -1
  544. package/dist/task-board/components/TaskRow.js +6 -12
  545. package/dist/task-board/components/TaskRow.js.map +1 -1
  546. package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -3
  547. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
  548. package/dist/task-board/components/WizardCommunicationCards.js +1 -1
  549. package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
  550. package/dist/task-board/components/WizardCommunicationCenter.d.ts +7 -1
  551. package/dist/task-board/components/WizardCommunicationCenter.js +10 -6
  552. package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
  553. package/dist/task-board/components/WizardCommunicationShared.js +5 -5
  554. package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
  555. package/dist/task-board/components/WizardTask.d.ts +5 -1
  556. package/dist/task-board/components/WizardTask.js +14 -30
  557. package/dist/task-board/components/WizardTask.js.map +1 -1
  558. package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +10 -2
  559. package/dist/task-board/components/WizardTaskDetailsPanel.js +56 -11
  560. package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
  561. package/dist/task-board/taskBoardNavStore.d.ts +3 -0
  562. package/dist/task-board/taskBoardNavStore.js +44 -0
  563. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  564. package/dist/task-board/taskPriority.d.ts +4 -0
  565. package/dist/task-board/taskPriority.js +19 -0
  566. package/dist/task-board/taskPriority.js.map +1 -0
  567. package/dist/task-board/views/DependencyGraphView.js +48 -36
  568. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  569. package/dist/task-board/views/KanbanView.js +130 -96
  570. package/dist/task-board/views/KanbanView.js.map +1 -1
  571. package/dist/task-board/views/ListView.js +3 -3
  572. package/dist/task-board/views/ListView.js.map +1 -1
  573. package/dist/task-board/views/WizardView.js +7 -6
  574. package/dist/task-board/views/WizardView.js.map +1 -1
  575. package/dist/tour/default-tour.js +5 -5
  576. package/dist/tour/default-tour.js.map +1 -1
  577. package/package.json +11 -1
  578. package/styles.css +144 -0
  579. package/dist/components/FilterInput.js +0 -31
  580. package/dist/components/FilterInput.js.map +0 -1
  581. package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +0 -19
  582. package/dist/editor/ai/terminal/useAgentEditorContextSync.js +0 -142
  583. package/dist/editor/ai/terminal/useAgentEditorContextSync.js.map +0 -1
@@ -7,7 +7,7 @@ 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
9
  import { getInlineAiAnchorFromBridgeToolbar, getVisibleBridgeToolbarRect, waitForVisibleBridgeToolbarRect, } from "../page-editor-chrome/bridgeInlineFormatToolbarLayout";
10
- import { IFRAME_OVERLAY_BRIDGE_GEOMETRY_EVENT, IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, IframeOverlayProvider, } from "../page-editor-chrome/overlay/IframeOverlayProvider";
10
+ import { IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, IFRAME_OVERLAY_BRIDGE_GEOMETRY_EVENT, IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, IframeOverlayProvider, } from "../page-editor-chrome/overlay/IframeOverlayProvider";
11
11
  import { DEVICE_CHANGE_EVENT, useViewportChangeSignal, } from "./pageViewContext";
12
12
  import uuid from "react-uuid";
13
13
  import { cn } from "../../lib/utils";
@@ -22,6 +22,7 @@ import { FieldActionsOverlay, } from "../FieldActionsOverlay";
22
22
  import { NoLayout } from "../page-editor-chrome/NoLayout";
23
23
  import { Spinner } from "../ui/Spinner";
24
24
  import { DeviceToolbar } from "./DeviceToolbar";
25
+ import { FullscreenControls } from "../client/ui/FullscreenControls";
25
26
  import { toSitecoreDate } from "../utils/sitecoreDate";
26
27
  import { BridgeClient } from "../bridge/BridgeClient";
27
28
  import { getSuggestionDisplayValue } from "../reviews/suggestionDisplayValue";
@@ -33,6 +34,35 @@ const ZOOM_TRANSITION_MS = 300;
33
34
  const BRIDGE_INLINE_EDIT_RELEASE_EVENT = "parhelia:bridge-inline-edit-release";
34
35
  const INLINE_AI_CLOSE_EVENT = "inline-ai-close";
35
36
  const BRIDGE_INLINE_LINK_OPEN_EVENT = "bridge-inline-link-open";
37
+ const SCROLL_INTO_VIEW_BRIDGE_SOURCE = "scroll-into-view";
38
+ // Suggestions-mode cursor: a text I-beam (the click insertion point) badged with
39
+ // the lucide PenLine icon from the "Suggestions mode" toolbar button. A white
40
+ // halo keeps it visible on any page background; the hotspot is the I-beam centre.
41
+ const SUGGESTIONS_CURSOR_PEN_PATHS = '<path d="M12 20h9"/>' +
42
+ '<path d="M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"/>';
43
+ const SUGGESTIONS_CURSOR_BEAM_PATHS = '<path d="M5 5.5V22.5"/><path d="M2.5 5.5H7.5"/><path d="M2.5 22.5H7.5"/>';
44
+ const SUGGESTIONS_CURSOR_SVG = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28" fill="none" stroke-linecap="round" stroke-linejoin="round">' +
45
+ // White halo, drawn first so the dark ink sits on top of it.
46
+ '<g stroke="#ffffff">' +
47
+ '<g stroke-width="4">' +
48
+ SUGGESTIONS_CURSOR_BEAM_PATHS +
49
+ "</g>" +
50
+ '<g transform="translate(11 -1.5) scale(0.7)" stroke-width="5">' +
51
+ SUGGESTIONS_CURSOR_PEN_PATHS +
52
+ "</g>" +
53
+ "</g>" +
54
+ // Dark ink: the I-beam (text insertion point) plus the pen badge.
55
+ '<g stroke="#121212">' +
56
+ '<g stroke-width="2">' +
57
+ SUGGESTIONS_CURSOR_BEAM_PATHS +
58
+ "</g>" +
59
+ '<g transform="translate(11 -1.5) scale(0.7)" stroke-width="2.6">' +
60
+ SUGGESTIONS_CURSOR_PEN_PATHS +
61
+ "</g>" +
62
+ "</g>" +
63
+ "</svg>";
64
+ const SUGGESTIONS_CURSOR_IMAGE = "data:image/svg+xml," + encodeURIComponent(SUGGESTIONS_CURSOR_SVG);
65
+ const SUGGESTIONS_CURSOR_VALUE = `url("${SUGGESTIONS_CURSOR_IMAGE}") 5 14, default`;
36
66
  function dispatchBridgeOverlayScroll(iframe, scroll, scrollScale = 1) {
37
67
  iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, {
38
68
  detail: {
@@ -117,6 +147,16 @@ function findBridgeFieldDocumentBounds(geometry, descriptor) {
117
147
  ? bridgeTargetToDocumentBounds(geometry, target)
118
148
  : undefined;
119
149
  }
150
+ function findBridgeTextRangeDocumentBounds(geometry, key) {
151
+ if (!geometry || !key)
152
+ return undefined;
153
+ const bounds = geometry.targets
154
+ .filter((candidate) => candidate.kind === "textRange" &&
155
+ candidate.key === key &&
156
+ (candidate.rect.width > 0 || candidate.rect.height > 0))
157
+ .map((target) => bridgeTargetToDocumentBounds(geometry, target));
158
+ return unionDocumentBounds(bounds);
159
+ }
120
160
  function findBridgeComponentDocumentBounds(geometry, componentId) {
121
161
  if (!geometry)
122
162
  return undefined;
@@ -130,6 +170,93 @@ function findBridgeComponentDocumentBounds(geometry, componentId) {
130
170
  ? bridgeTargetToDocumentBounds(geometry, target)
131
171
  : undefined;
132
172
  }
173
+ function unionDocumentBounds(bounds) {
174
+ if (bounds.length === 0)
175
+ return undefined;
176
+ let left = Number.POSITIVE_INFINITY;
177
+ let top = Number.POSITIVE_INFINITY;
178
+ let right = Number.NEGATIVE_INFINITY;
179
+ let bottom = Number.NEGATIVE_INFINITY;
180
+ bounds.forEach((rect) => {
181
+ left = Math.min(left, rect.x);
182
+ top = Math.min(top, rect.y);
183
+ right = Math.max(right, rect.x + rect.width);
184
+ bottom = Math.max(bottom, rect.y + rect.height);
185
+ });
186
+ if (!Number.isFinite(left) || !Number.isFinite(top))
187
+ return undefined;
188
+ return {
189
+ x: left,
190
+ y: top,
191
+ width: Math.max(0, right - left),
192
+ height: Math.max(0, bottom - top),
193
+ };
194
+ }
195
+ function findScrollIntoViewDocumentBounds(geometry, target, options = {}) {
196
+ if (typeof target === "string") {
197
+ return findBridgeComponentDocumentBounds(geometry, target);
198
+ }
199
+ if (target.kind === "component") {
200
+ return findBridgeComponentDocumentBounds(geometry, target.componentId);
201
+ }
202
+ if (target.kind === "field") {
203
+ return (findBridgeFieldDocumentBounds(geometry, target.field) ??
204
+ (target.fallbackComponentId
205
+ ? findBridgeComponentDocumentBounds(geometry, target.fallbackComponentId)
206
+ : undefined));
207
+ }
208
+ const textRangeBounds = findBridgeTextRangeDocumentBounds(geometry, target.key);
209
+ if (textRangeBounds || !options.includeTextRangeFallback) {
210
+ return textRangeBounds;
211
+ }
212
+ return ((target.fallbackField
213
+ ? findBridgeFieldDocumentBounds(geometry, target.fallbackField)
214
+ : undefined) ??
215
+ (target.fallbackComponentId
216
+ ? findBridgeComponentDocumentBounds(geometry, target.fallbackComponentId)
217
+ : undefined));
218
+ }
219
+ function isTextRangeScrollTarget(target) {
220
+ return typeof target !== "string" && target.kind === "textRange";
221
+ }
222
+ function getScrollIntoViewSignature(target) {
223
+ if (typeof target === "string")
224
+ return `component:${target}`;
225
+ if (target.kind === "component")
226
+ return `component:${target.componentId}`;
227
+ if (target.kind === "field") {
228
+ return [
229
+ "field",
230
+ target.field.fieldId,
231
+ target.field.item.id,
232
+ target.field.item.language,
233
+ target.field.item.version,
234
+ ].join(":");
235
+ }
236
+ return [
237
+ "textRange",
238
+ target.key,
239
+ ...(target.textRanges || []).map((range) => [
240
+ range.key,
241
+ range.elementKey,
242
+ range.fieldId,
243
+ range.item?.id,
244
+ range.item?.language,
245
+ range.item?.version,
246
+ range.start,
247
+ range.end,
248
+ ].join(":")),
249
+ ].join("|");
250
+ }
251
+ function requestScrollTargetGeometry(pageViewContext, target) {
252
+ const textRanges = target.textRanges?.filter((range) => !!range);
253
+ if (!textRanges?.length)
254
+ return false;
255
+ return (pageViewContext.requestBridgeGeometry?.({
256
+ source: SCROLL_INTO_VIEW_BRIDGE_SOURCE,
257
+ textRanges,
258
+ }) ?? false);
259
+ }
133
260
  function scrollBridgeBoundsIntoView(pageViewContext, bounds, currentScroll) {
134
261
  const geometry = pageViewContext.bridgeGeometry;
135
262
  if (!geometry)
@@ -275,7 +402,10 @@ function applyParheliaRenderContext(renderUrl, pageItemDescriptor, siteName) {
275
402
  if (!renderUrl.searchParams.has("site")) {
276
403
  renderUrl.searchParams.set("site", siteName);
277
404
  }
278
- if (!renderUrl.searchParams.has("sc_site")) {
405
+ // Same-origin Sitecore fallback URLs use sc_site for site resolution and can
406
+ // canonical-redirect to the public site host before the editor iframe loads.
407
+ if (renderUrl.origin !== window.location.origin &&
408
+ !renderUrl.searchParams.has("sc_site")) {
279
409
  renderUrl.searchParams.set("sc_site", siteName);
280
410
  }
281
411
  }
@@ -377,6 +507,17 @@ function bridgeFieldMatchesChangedField(bridgeFieldId, changedFieldId, field) {
377
507
  bridgeIdsMatch(bridgeFieldId, field.name) ||
378
508
  bridgeIdsMatch(bridgeFieldId, field.displayName));
379
509
  }
510
+ function findModifiedBridgeField({ modifiedFields, structureField, field, itemDescriptor, dirtyOnly, }) {
511
+ return modifiedFields?.find((candidate) => {
512
+ if (dirtyOnly && !candidate.isDirty)
513
+ return false;
514
+ if (!bridgeDescriptorMatchesItem(candidate.item, itemDescriptor)) {
515
+ return false;
516
+ }
517
+ return (bridgeIdsMatch(candidate.fieldId, structureField.fieldId) ||
518
+ fieldIdentifierMatches(field, candidate.fieldId));
519
+ });
520
+ }
380
521
  function findBridgeFieldTargetAtPoint(geometry, clientX, clientY) {
381
522
  if (!geometry || typeof clientX !== "number" || typeof clientY !== "number") {
382
523
  return undefined;
@@ -445,12 +586,20 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
445
586
  const directOverlayScrollSyncRef = useRef(false);
446
587
  const pendingRefreshScrollRef = useRef(undefined);
447
588
  const suppressNextSelectionScrollRef = useRef(false);
589
+ // Timestamp (ms) until which selection auto-scroll is suppressed. Held open for
590
+ // the whole drag and a short window after, so the drop's re-selection doesn't
591
+ // jump the page (see the dragObject transition effect that drives it).
592
+ const suppressSelectionScrollUntilRef = useRef(0);
448
593
  // Tracks the selection we last evaluated for auto-scroll. The selection
449
594
  // effect also depends on focusedField, so it re-runs when a field blurs
450
595
  // (focusedField -> undefined) even though the selection itself did not
451
596
  // change. Without this guard that blur re-render would scroll the just
452
597
  // clicked component into view after the suppress flag was already consumed.
453
598
  const lastScrolledSelectionKeyRef = useRef("");
599
+ const scrollIntoViewRequestRef = useRef({
600
+ signature: "",
601
+ requestedTextRangeGeometry: false,
602
+ });
454
603
  const [showSpinner, setShowSpinner] = useState(false);
455
604
  const [iframeSrc, setIframeSrc] = useState();
456
605
  const [loadedIframeSrc, setLoadedIframeSrc] = useState();
@@ -1350,6 +1499,8 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1350
1499
  editorOrigin: window.location.origin,
1351
1500
  sessionId: editContextRef.current?.sessionId,
1352
1501
  mode: editContextRef.current?.mode ?? "edit",
1502
+ suggestionsCursorActive: editContextRef.current?.mode === "suggestions" ||
1503
+ !!editContextRef.current?.showSuggestedEdits,
1353
1504
  selectedComponentIds: editContextRef.current?.selection ?? [],
1354
1505
  featureFlags: {
1355
1506
  crossOriginBridge: true,
@@ -1452,6 +1603,26 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1452
1603
  pageViewContext.setBridgeInteraction(event.payload);
1453
1604
  void handleBridgeInteraction(event.payload, iframe);
1454
1605
  break;
1606
+ case "dragGestureStarted":
1607
+ iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
1608
+ detail: { phase: "start", ...event.payload },
1609
+ }));
1610
+ break;
1611
+ case "dragGestureMoved":
1612
+ iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
1613
+ detail: { phase: "move", ...event.payload },
1614
+ }));
1615
+ break;
1616
+ case "dragGestureEnded":
1617
+ iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
1618
+ detail: { phase: "end", ...event.payload },
1619
+ }));
1620
+ break;
1621
+ case "dragSnapshot":
1622
+ iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
1623
+ detail: { phase: "snapshot", ...event.payload },
1624
+ }));
1625
+ break;
1455
1626
  case "scrollChanged":
1456
1627
  latestBridgeScrollRef.current = event.payload.scroll;
1457
1628
  // With the direct same-origin listener active, this message is a
@@ -1640,6 +1811,17 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1640
1811
  const field = loadedItem.fields.find((candidate) => fieldIdentifierMatches(candidate, structureField.fieldId));
1641
1812
  if (!field)
1642
1813
  continue;
1814
+ const showSuggestions = editContext.mode === "suggestions" || editContext.showSuggestedEdits;
1815
+ const dirtyModifiedField = findModifiedBridgeField({
1816
+ modifiedFields: fieldsContext?.modifiedFields,
1817
+ structureField,
1818
+ field,
1819
+ itemDescriptor: itemDescriptor,
1820
+ dirtyOnly: true,
1821
+ });
1822
+ if (!showSuggestions && !dirtyModifiedField) {
1823
+ continue;
1824
+ }
1643
1825
  const patch = buildBridgeFieldPatch({
1644
1826
  field,
1645
1827
  structureField,
@@ -1706,8 +1888,16 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1706
1888
  return (bridgeClientRef.current?.sendCommand("applyRichTextCommand", payload) ??
1707
1889
  false);
1708
1890
  };
1891
+ const requestBridgePreviewGap = (payload) => {
1892
+ return (bridgeClientRef.current?.sendCommand("previewGap", payload) ?? false);
1893
+ };
1894
+ const requestBridgeCaptureSnapshot = (payload) => {
1895
+ return (bridgeClientRef.current?.sendCommand("captureComponentSnapshot", payload) ?? false);
1896
+ };
1709
1897
  pageViewContext.requestBridgeScrollBy = requestBridgeScrollBy;
1710
1898
  pageViewContext.requestBridgeRichTextCommand = requestBridgeRichTextCommand;
1899
+ pageViewContext.requestBridgePreviewGap = requestBridgePreviewGap;
1900
+ pageViewContext.requestBridgeCaptureSnapshot = requestBridgeCaptureSnapshot;
1711
1901
  return () => {
1712
1902
  if (pageViewContext.requestBridgeGeometry === requestBridgeGeometry) {
1713
1903
  pageViewContext.requestBridgeGeometry = undefined;
@@ -1715,6 +1905,13 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1715
1905
  if (pageViewContext.requestBridgeScrollBy === requestBridgeScrollBy) {
1716
1906
  pageViewContext.requestBridgeScrollBy = undefined;
1717
1907
  }
1908
+ if (pageViewContext.requestBridgePreviewGap === requestBridgePreviewGap) {
1909
+ pageViewContext.requestBridgePreviewGap = undefined;
1910
+ }
1911
+ if (pageViewContext.requestBridgeCaptureSnapshot ===
1912
+ requestBridgeCaptureSnapshot) {
1913
+ pageViewContext.requestBridgeCaptureSnapshot = undefined;
1914
+ }
1718
1915
  if (pageViewContext.requestBridgeRichTextCommand ===
1719
1916
  requestBridgeRichTextCommand) {
1720
1917
  pageViewContext.requestBridgeRichTextCommand = undefined;
@@ -1910,6 +2107,21 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1910
2107
  }
1911
2108
  }
1912
2109
  }, [fieldsContext?.focusedField]);
2110
+ // Drive the selection-scroll suppression window from the drag lifecycle.
2111
+ // Declared BEFORE the selection-scroll effect so it runs first in the same
2112
+ // commit (when a drop changes both dragObject and selection at once).
2113
+ useEffect(() => {
2114
+ if (editContext.dragObject) {
2115
+ // Suppress for the whole drag.
2116
+ suppressSelectionScrollUntilRef.current = Number.MAX_SAFE_INTEGER;
2117
+ }
2118
+ else if (suppressSelectionScrollUntilRef.current === Number.MAX_SAFE_INTEGER) {
2119
+ // Drag just ended: keep suppressing briefly so the drop's re-selection
2120
+ // (often the target's parent) doesn't scroll the page toward stale
2121
+ // pre-move geometry.
2122
+ suppressSelectionScrollUntilRef.current = Date.now() + 500;
2123
+ }
2124
+ }, [editContext.dragObject]);
1913
2125
  useEffect(() => {
1914
2126
  const selectionKey = editContext.selection.join("|");
1915
2127
  const selectionChanged = selectionKey !== lastScrolledSelectionKeyRef.current;
@@ -1924,6 +2136,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1924
2136
  suppressNextSelectionScrollRef.current = false;
1925
2137
  return;
1926
2138
  }
2139
+ // Suppressed during a drag and briefly after it ends. The drag owns
2140
+ // scrolling, and the drop's re-selection must not jump the page away from
2141
+ // where the user dropped (toward stale pre-move geometry).
2142
+ if (Date.now() < suppressSelectionScrollUntilRef.current)
2143
+ return;
1927
2144
  if (!fieldsContext?.focusedField && editContext.selection.length > 0) {
1928
2145
  const lastSelectedComponent = getComponentById(editContext.selection[editContext.selection.length - 1], pageViewContextRef.current.page);
1929
2146
  if (lastSelectedComponent) {
@@ -1937,12 +2154,41 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1937
2154
  const activePageViewContext = pageViewContextRef.current;
1938
2155
  if (!activePageViewContext)
1939
2156
  return;
1940
- const bounds = findBridgeComponentDocumentBounds(activePageViewContext.bridgeGeometry, editContext.scrollIntoView);
2157
+ const scrollTarget = editContext.scrollIntoView;
2158
+ const requestState = scrollIntoViewRequestRef.current;
2159
+ const signature = getScrollIntoViewSignature(scrollTarget);
2160
+ if (requestState.signature !== signature) {
2161
+ requestState.signature = signature;
2162
+ requestState.requestedTextRangeGeometry = false;
2163
+ }
2164
+ const exactBounds = findScrollIntoViewDocumentBounds(activePageViewContext.bridgeGeometry, scrollTarget, { includeTextRangeFallback: false });
2165
+ let bounds = exactBounds;
2166
+ if (!bounds &&
2167
+ isTextRangeScrollTarget(scrollTarget) &&
2168
+ !requestState.requestedTextRangeGeometry) {
2169
+ requestState.requestedTextRangeGeometry = true;
2170
+ if (requestScrollTargetGeometry(activePageViewContext, scrollTarget)) {
2171
+ return;
2172
+ }
2173
+ }
2174
+ bounds ??= findScrollIntoViewDocumentBounds(activePageViewContext.bridgeGeometry, scrollTarget, { includeTextRangeFallback: true });
1941
2175
  if (bounds) {
1942
2176
  scrollBridgeBoundsIntoView(activePageViewContext, bounds, latestBridgeScrollRef.current);
1943
2177
  }
2178
+ if (isTextRangeScrollTarget(scrollTarget)) {
2179
+ activePageViewContext.requestBridgeGeometry?.({
2180
+ source: SCROLL_INTO_VIEW_BRIDGE_SOURCE,
2181
+ textRanges: [],
2182
+ });
2183
+ }
2184
+ requestState.signature = "";
2185
+ requestState.requestedTextRangeGeometry = false;
1944
2186
  editContext.setScrollIntoView(undefined);
1945
- }, [editContext.scrollIntoView, pageViewContext.page]);
2187
+ }, [
2188
+ editContext.scrollIntoView,
2189
+ pageViewContext.page,
2190
+ pageViewContext.bridgeGeometry,
2191
+ ]);
1946
2192
  useEffect(() => {
1947
2193
  const handleMessage = (message) => {
1948
2194
  if (message.origin !== window.location.origin)
@@ -2027,8 +2273,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2027
2273
  });
2028
2274
  bridge?.sendCommand("setEditorMode", {
2029
2275
  mode: editContext.mode,
2276
+ suggestionsCursorActive: editContext.mode === "suggestions" || editContext.showSuggestedEdits,
2030
2277
  });
2031
- }, [editContext.mode]);
2278
+ }, [editContext.mode, editContext.showSuggestedEdits]);
2032
2279
  useEffect(() => {
2033
2280
  bridgeClientRef.current?.sendCommand("setLayoutKind", {
2034
2281
  layoutKind: editContext.layoutMode,
@@ -2081,9 +2328,22 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2081
2328
  : (pageViewContext.deviceWidth || 640) +
2082
2329
  editContext.configuration.outline.width +
2083
2330
  "px";
2084
- return (_jsxs("div", { className: cn("relative flex h-full w-full flex-col items-center select-none", className, editContext.showAgentsPanel && !editContext.currentWizardId && "pr-0"), children: [!pageViewContext.fullscreen && (_jsx(EditorWarnings, { item: pageViewContext.page?.item })), slotCloseButton && (_jsx("div", { className: "absolute top-3 right-3 z-50", children: slotCloseButton })), pageViewContext.device !== "desktop" && (_jsx(DeviceToolbar, { pageViewContext: pageViewContext, configuration: editContext.configuration })), _jsxs("div", { className: "relative flex flex-1 transition-[width] duration-300 ease-in-out select-none motion-reduce:transition-none", "data-testid": "page-viewer-viewport", style: {
2331
+ const fullscreenPageTitle = pageViewContext.page?.item?.displayName?.trim() ||
2332
+ pageViewContext.page?.item?.name?.trim() ||
2333
+ "Page";
2334
+ return (_jsxs("div", { className: cn("relative flex h-full w-full flex-col items-center select-none", className, editContext.showAgentsPanel && !editContext.currentWizardId && "pr-0"), children: [!pageViewContext.fullscreen && (_jsx(EditorWarnings, { item: pageViewContext.page?.item })), slotCloseButton && (_jsx("div", { className: "absolute top-3 right-3 z-50", children: slotCloseButton })), pageViewContext.fullscreen && (_jsxs("div", { className: "border-neutral-grey-15 relative z-40 flex h-11 w-full shrink-0 items-center justify-center border-b bg-white px-28 text-center shadow-sm", "data-testid": "fullscreen-page-title-bar", children: [_jsx("div", { className: "text-neutral-grey-100 max-w-full truncate text-sm font-medium", title: fullscreenPageTitle, "data-testid": "fullscreen-page-title", children: fullscreenPageTitle }), _jsx("div", { className: "absolute top-1/2 right-3 -translate-y-1/2", children: _jsx(FullscreenControls, { device: pageViewContext.device, setDevice: (device) => pageViewContext.setDevice(device), canExit: !editContext.configuration.forceFullscreen, onExit: () => editContext.setFullscreen(false), firstMobileDeviceName: editContext.configuration.devices[0]?.name }) })] })), pageViewContext.device !== "desktop" && (_jsx(DeviceToolbar, { pageViewContext: pageViewContext, configuration: editContext.configuration })), _jsxs("div", { className: "relative flex min-h-0 flex-1 transition-[width] duration-300 ease-in-out select-none motion-reduce:transition-none", "data-testid": "page-viewer-viewport", style: {
2085
2335
  width: deviceWidth,
2086
- }, children: [_jsxs("div", { className: "relative h-full w-full overflow-hidden", children: [_jsx("iframe", { ref: bindIframeRef, className: "page-iframe h-full w-full bg-white transition-[height] duration-300 ease-in-out motion-reduce:transition-none", style: { height: deviceHeight }, src: iframeSrc, "data-testid": "pageEditoriframe", onLoad: () => {
2336
+ }, children: [_jsxs("div", { className: "relative h-full w-full overflow-hidden", onMouseLeave: () => {
2337
+ if (pageViewContext.bridgeInteraction?.kind === "hover") {
2338
+ pageViewContext.setBridgeInteraction(undefined);
2339
+ }
2340
+ }, children: [_jsx("iframe", { ref: bindIframeRef, className: "page-iframe h-full w-full bg-white transition-[height] duration-300 ease-in-out motion-reduce:transition-none", style: {
2341
+ height: deviceHeight,
2342
+ cursor: editContext.mode === "suggestions" ||
2343
+ editContext.showSuggestedEdits
2344
+ ? SUGGESTIONS_CURSOR_VALUE
2345
+ : undefined,
2346
+ }, src: iframeSrc, "data-testid": "pageEditoriframe", onLoad: () => {
2087
2347
  const loadedSrc = iframeRef.current?.src;
2088
2348
  if (loadedSrc) {
2089
2349
  setLoadedIframeSrc(loadedSrc);