@parhelia/core 0.1.12901 → 0.1.12903
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents-view/AgentsWorkspaceView.js +40 -5
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/context-menu.d.ts +2 -2
- package/dist/components/ui/context-menu.js +64 -7
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +2 -2
- package/dist/components/ui/dialog.js +27 -5
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/config/config.js +83 -3
- package/dist/config/config.js.map +1 -1
- package/dist/editor/AspectRatioSelector.js +27 -24
- package/dist/editor/AspectRatioSelector.js.map +1 -1
- package/dist/editor/ConcurrentUserLimitDialog.js +1 -1
- package/dist/editor/ConcurrentUserLimitDialog.js.map +1 -1
- package/dist/editor/ConfirmationDialog.js +6 -4
- package/dist/editor/ConfirmationDialog.js.map +1 -1
- package/dist/editor/ContentTree.js +4 -3
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/EditorWarning.js +1 -1
- package/dist/editor/EditorWarning.js.map +1 -1
- package/dist/editor/FieldListField.js +12 -8
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/PictureCropper.js +73 -37
- package/dist/editor/PictureCropper.js.map +1 -1
- package/dist/editor/SetupWizard.js +14 -12
- package/dist/editor/SetupWizard.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.js +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
- package/dist/editor/ai/Agents.js +19 -3
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +87 -9
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +18 -0
- package/dist/editor/ai/dialogs/agentDialogTypes.js +5 -0
- package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
- package/dist/editor/ai/dialogs/browserBoundCapture.d.ts +6 -9
- package/dist/editor/ai/dialogs/browserBoundCapture.js +17 -25
- package/dist/editor/ai/dialogs/browserBoundCapture.js.map +1 -1
- package/dist/editor/ai/dialogs/capturePageDom.js +2 -18
- package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -1
- package/dist/editor/ai/dialogs/capturePageScreenshot.d.ts +27 -1
- package/dist/editor/ai/dialogs/capturePageScreenshot.js +11 -24
- package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -1
- package/dist/editor/ai/dialogs/captureShared.d.ts +10 -0
- package/dist/editor/ai/dialogs/captureShared.js +39 -0
- package/dist/editor/ai/dialogs/captureShared.js.map +1 -0
- package/dist/editor/ai/dialogs/offscreenPageCapture.d.ts +44 -0
- package/dist/editor/ai/dialogs/offscreenPageCapture.js +300 -0
- package/dist/editor/ai/dialogs/offscreenPageCapture.js.map +1 -0
- package/dist/editor/ai/terminal/agentContextMerge.d.ts +2 -7
- package/dist/editor/ai/terminal/agentContextMerge.js +33 -10
- package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionState.d.ts +28 -0
- package/dist/editor/ai/terminal/agentSessionState.js +63 -3
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentContextItemPicker.d.ts +11 -0
- package/dist/editor/ai/terminal/components/AgentContextItemPicker.js +81 -0
- package/dist/editor/ai/terminal/components/AgentContextItemPicker.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +40 -25
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSuggestionBanner.d.ts +16 -0
- package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js +41 -0
- package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +1 -3
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +3 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +10 -5
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +3 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +1 -3
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -5
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +3 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +1 -11
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +42 -5
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +4 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +69 -35
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +14 -11
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +13 -71
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.js +104 -58
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallApprovalGate.d.ts +21 -0
- package/dist/editor/ai/terminal/components/toolCallApprovalGate.js +32 -0
- package/dist/editor/ai/terminal/components/toolCallApprovalGate.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +1 -3
- package/dist/editor/ai/terminal/useAgentEditorContext.d.ts +2 -6
- package/dist/editor/ai/terminal/useAgentEditorContext.js +41 -10
- package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js +4 -1
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.d.ts +3 -0
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js +7 -5
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentLoader.js +4 -1
- package/dist/editor/ai/terminal/useAgentLoader.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +3 -3
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +0 -2
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +4 -9
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -1
- package/dist/editor/ai/terminal/useAgentSession.js +0 -5
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.d.ts +0 -2
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js +1 -5
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +0 -2
- package/dist/editor/ai/terminal/useAgentSessionFacade.js +0 -3
- package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +1 -6
- package/dist/editor/ai/terminal/useAgentSessionSync.js +1 -14
- package/dist/editor/ai/terminal/useAgentSessionSync.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +2 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js +10 -4
- package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js +6 -1
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js +7 -3
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +4 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +48 -6
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +7 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.js +35 -0
- package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +3 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +65 -26
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolResultHandler.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js +18 -1
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js +3 -1
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js.map +1 -1
- package/dist/editor/ai/useAgentPanes.d.ts +1 -1
- package/dist/editor/ai/useAgentPanes.js +25 -3
- package/dist/editor/ai/useAgentPanes.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +107 -16
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +4 -0
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.d.ts +0 -10
- package/dist/editor/client/EditorShell.js +17 -5
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +19 -2
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js +0 -20
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/operations.d.ts +4 -2
- package/dist/editor/client/operations.js +106 -33
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/field-types/AttachmentEditor.js +42 -4
- package/dist/editor/field-types/AttachmentEditor.js.map +1 -1
- package/dist/editor/media-selector/MediaFolderBrowser.js +142 -32
- package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
- package/dist/editor/media-selector/Preview.d.ts +2 -1
- package/dist/editor/media-selector/Preview.js +45 -2
- package/dist/editor/media-selector/Preview.js.map +1 -1
- package/dist/editor/media-selector/Thumbnails.d.ts +5 -1
- package/dist/editor/media-selector/Thumbnails.js +72 -11
- package/dist/editor/media-selector/Thumbnails.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +130 -22
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/media-selector/UploadZone.d.ts +2 -1
- package/dist/editor/media-selector/UploadZone.js +7 -15
- package/dist/editor/media-selector/UploadZone.js.map +1 -1
- package/dist/editor/media-selector/mediaFileType.d.ts +12 -0
- package/dist/editor/media-selector/mediaFileType.js +95 -0
- package/dist/editor/media-selector/mediaFileType.js.map +1 -0
- package/dist/editor/media-selector/mediaSelectionPath.d.ts +5 -0
- package/dist/editor/media-selector/mediaSelectionPath.js +21 -0
- package/dist/editor/media-selector/mediaSelectionPath.js.map +1 -0
- package/dist/editor/media-selector/mediaUpload.d.ts +30 -0
- package/dist/editor/media-selector/mediaUpload.js +155 -0
- package/dist/editor/media-selector/mediaUpload.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js +52 -29
- package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js.map +1 -1
- package/dist/editor/page-editor-chrome/ComponentOperationBubble.d.ts +8 -0
- package/dist/editor/page-editor-chrome/ComponentOperationBubble.js +8 -0
- package/dist/editor/page-editor-chrome/ComponentOperationBubble.js.map +1 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +207 -19
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.js +101 -12
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.js +6 -1
- package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +2 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +7 -2
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +3 -2
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +95 -24
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +85 -7
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/insertTargetLabel.d.ts +6 -0
- package/dist/editor/page-editor-chrome/insertTargetLabel.js +21 -0
- package/dist/editor/page-editor-chrome/insertTargetLabel.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.js +13 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +1 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +14 -9
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +6 -3
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +112 -6
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.js +1 -0
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +119 -100
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.d.ts +3 -0
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js +36 -0
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js.map +1 -0
- package/dist/editor/page-viewer/renderUrl.d.ts +14 -0
- package/dist/editor/page-viewer/renderUrl.js +83 -0
- package/dist/editor/page-viewer/renderUrl.js.map +1 -0
- package/dist/editor/reviews/CreateReviewDialog.js +1 -1
- package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
- package/dist/editor/reviews/EditReviewSettingsDialog.js +1 -1
- package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +22 -29
- package/dist/editor/services/agentService.js +24 -22
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +3 -0
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +5 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +12 -0
- package/dist/editor/services/editService.js +3 -0
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelsPanel.js +94 -26
- package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
- package/dist/editor/setup-wizard/SetupStepError.d.ts +8 -0
- package/dist/editor/setup-wizard/SetupStepError.js +7 -0
- package/dist/editor/setup-wizard/SetupStepError.js.map +1 -0
- package/dist/editor/setup-wizard/SetupStepHeader.d.ts +15 -0
- package/dist/editor/setup-wizard/SetupStepHeader.js +6 -0
- package/dist/editor/setup-wizard/SetupStepHeader.js.map +1 -0
- package/dist/editor/setup-wizard/SetupStepLayout.d.ts +33 -0
- package/dist/editor/setup-wizard/SetupStepLayout.js +16 -0
- package/dist/editor/setup-wizard/SetupStepLayout.js.map +1 -0
- package/dist/editor/setup-wizard/steps/CompleteStep.js +12 -10
- package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js +4 -2
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js +95 -28
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/LicenseEmailStep.d.ts +2 -1
- package/dist/editor/setup-wizard/steps/LicenseEmailStep.js +12 -4
- package/dist/editor/setup-wizard/steps/LicenseEmailStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/ModelSelectionStep.d.ts +1 -1
- package/dist/editor/setup-wizard/steps/ModelSelectionStep.js +62 -58
- package/dist/editor/setup-wizard/steps/ModelSelectionStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/ProviderStep.js +63 -19
- package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/WelcomeStep.js +2 -1
- package/dist/editor/setup-wizard/steps/WelcomeStep.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +1 -1
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +24 -30
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +1 -1
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
- package/dist/editor/ui/CopyMoveTargetSelectorDialog.js +2 -2
- package/dist/editor/ui/CopyMoveTargetSelectorDialog.js.map +1 -1
- package/dist/editor/ui/DialogButtons.js +1 -1
- package/dist/editor/ui/DialogButtons.js.map +1 -1
- package/dist/editor/ui/IconSelectorDialog.js +1 -1
- package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
- package/dist/editor/ui/ItemNameDialogNew.js +1 -1
- package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
- package/dist/editor/ui/PerfectTree.js +1 -1
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/ui/PublishDialog.js +1 -1
- package/dist/editor/ui/PublishDialog.js.map +1 -1
- package/dist/editor/ui/PublishItemDialog.js +1 -1
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/SharedFolderSelectorDialog.js +1 -1
- package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -1
- package/dist/editor/ui/TemplateSelectorDialog.js +1 -1
- package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
- package/dist/editor/views/EditorSlot.js +1 -1
- package/dist/editor/views/EditorSlot.js.map +1 -1
- package/dist/editor/views/MediaFolderEditView.js +1 -1
- package/dist/editor/views/MediaFolderEditView.js.map +1 -1
- package/dist/lib/viewTransition.js +7 -1
- package/dist/lib/viewTransition.js.map +1 -1
- package/dist/logging/consolePrefix.js +13 -0
- package/dist/logging/consolePrefix.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/services/setupWizardService.d.ts +2 -0
- package/dist/setup/services/setupWizardService.js +12 -0
- package/dist/setup/services/setupWizardService.js.map +1 -1
- package/dist/setup/wizard/steps/ImportModelDialog.js +35 -86
- package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
- package/dist/splash-screen/ModernSplashScreen.js +12 -0
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.js +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/images/Parhelia-Onboarding-BG.jpg +0 -0
- package/package.json +1 -1
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.d.ts +0 -10
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js +0 -24
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js.map +0 -1
- package/dist/editor/ai/terminal/useAgentBrowserCapture.d.ts +0 -24
- package/dist/editor/ai/terminal/useAgentBrowserCapture.js +0 -147
- package/dist/editor/ai/terminal/useAgentBrowserCapture.js.map +0 -1
- package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.d.ts +0 -29
- package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js +0 -36
- package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js.map +0 -1
- package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.d.ts +0 -18
- package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js +0 -36
- package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js.map +0 -1
- package/images/bg-shape-black.webp +0 -0
- package/images/parhelia-logo-1.jpg +0 -0
- package/images/phlogo.png +0 -0
- package/images/wizard-bg.png +0 -0
|
@@ -19,6 +19,7 @@ import { loadFieldButtons } from "../services/editService";
|
|
|
19
19
|
import { usePathname } from "../client/navigation";
|
|
20
20
|
import { EditorWarnings } from "../EditorWarnings";
|
|
21
21
|
import { FieldActionsOverlay, } from "../FieldActionsOverlay";
|
|
22
|
+
import { alignLoopbackHostToEditor, alignXmCloudManagedEditingHostToEditor, applyParheliaRenderContext, getEditorQueryParam, } from "./renderUrl";
|
|
22
23
|
import { NoLayout } from "../page-editor-chrome/NoLayout";
|
|
23
24
|
import { Spinner } from "../ui/Spinner";
|
|
24
25
|
import { DeviceToolbar } from "./DeviceToolbar";
|
|
@@ -27,6 +28,7 @@ import { toSitecoreDate } from "../utils/sitecoreDate";
|
|
|
27
28
|
import { BridgeClient } from "../bridge/BridgeClient";
|
|
28
29
|
import { getSuggestionDisplayValue } from "../reviews/suggestionDisplayValue";
|
|
29
30
|
import { buildBridgeFieldPatchPayload, getBridgeFieldPatchValue, } from "./bridgeFieldPatch";
|
|
31
|
+
import { createKeyboardEventFromBridgeInteraction } from "./bridgeKeyboardShortcuts";
|
|
30
32
|
const ZOOM_MIN = 0.25;
|
|
31
33
|
const ZOOM_MAX = 2;
|
|
32
34
|
const ZOOM_STEP = 0.25;
|
|
@@ -63,6 +65,27 @@ const SUGGESTIONS_CURSOR_SVG = '<svg xmlns="http://www.w3.org/2000/svg" width="2
|
|
|
63
65
|
"</svg>";
|
|
64
66
|
const SUGGESTIONS_CURSOR_IMAGE = "data:image/svg+xml," + encodeURIComponent(SUGGESTIONS_CURSOR_SVG);
|
|
65
67
|
const SUGGESTIONS_CURSOR_VALUE = `url("${SUGGESTIONS_CURSOR_IMAGE}") 5 14, default`;
|
|
68
|
+
function getSelectedRangeInlineEditInteraction(range) {
|
|
69
|
+
if (!range?.text?.trim() || !range.elementKey || !range.fieldId) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
const item = range.itemId && range.language && typeof range.version === "number"
|
|
73
|
+
? {
|
|
74
|
+
id: range.itemId,
|
|
75
|
+
language: range.language,
|
|
76
|
+
version: range.version,
|
|
77
|
+
}
|
|
78
|
+
: undefined;
|
|
79
|
+
return {
|
|
80
|
+
kind: "click",
|
|
81
|
+
elementKey: range.elementKey,
|
|
82
|
+
fieldId: range.fieldId,
|
|
83
|
+
item,
|
|
84
|
+
selectedText: range.text,
|
|
85
|
+
selectionStartOffset: range.startOffset,
|
|
86
|
+
selectionEndOffset: range.endOffset,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
66
89
|
function dispatchBridgeOverlayScroll(iframe, scroll, scrollScale = 1) {
|
|
67
90
|
iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, {
|
|
68
91
|
detail: {
|
|
@@ -299,7 +322,7 @@ function getIframeWindowScroll(iframe) {
|
|
|
299
322
|
return undefined;
|
|
300
323
|
}
|
|
301
324
|
}
|
|
302
|
-
function restoreIframeWindowScroll(iframe, targetScroll) {
|
|
325
|
+
function restoreIframeWindowScroll(iframe, targetScroll, options = {}) {
|
|
303
326
|
if (!targetScroll)
|
|
304
327
|
return false;
|
|
305
328
|
try {
|
|
@@ -307,20 +330,41 @@ function restoreIframeWindowScroll(iframe, targetScroll) {
|
|
|
307
330
|
if (!win)
|
|
308
331
|
return false;
|
|
309
332
|
let attempts = 0;
|
|
333
|
+
let completed = false;
|
|
334
|
+
const maxAttempts = options.maxAttempts ?? 8;
|
|
335
|
+
const finish = (settled) => {
|
|
336
|
+
if (completed)
|
|
337
|
+
return;
|
|
338
|
+
completed = true;
|
|
339
|
+
if (settled) {
|
|
340
|
+
options.onSettled?.();
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
options.onExpired?.();
|
|
344
|
+
}
|
|
345
|
+
};
|
|
310
346
|
const apply = () => {
|
|
311
347
|
try {
|
|
312
348
|
attempts += 1;
|
|
313
349
|
win.scrollTo(targetScroll.x, targetScroll.y);
|
|
314
350
|
const settled = Math.abs((win.scrollX || 0) - targetScroll.x) <= 1 &&
|
|
315
351
|
Math.abs((win.scrollY || 0) - targetScroll.y) <= 1;
|
|
316
|
-
if (
|
|
352
|
+
if (settled) {
|
|
353
|
+
finish(true);
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
if (attempts < maxAttempts) {
|
|
317
357
|
window.requestAnimationFrame(apply);
|
|
318
358
|
}
|
|
359
|
+
else {
|
|
360
|
+
finish(false);
|
|
361
|
+
}
|
|
319
362
|
}
|
|
320
363
|
catch {
|
|
321
364
|
// Cross-origin preview frames expose a WindowProxy, but reading named
|
|
322
365
|
// properties such as scrollTo/scrollX can throw. In that case the
|
|
323
366
|
// bridge-side scroll restoration is responsible for preserving scroll.
|
|
367
|
+
finish(false);
|
|
324
368
|
}
|
|
325
369
|
};
|
|
326
370
|
window.requestAnimationFrame(apply);
|
|
@@ -336,28 +380,6 @@ function applyIframeZoom(_iframe, _zoom, _location) {
|
|
|
336
380
|
function clampEditorZoom(value) {
|
|
337
381
|
return Math.min(ZOOM_MAX, Math.max(ZOOM_MIN, value));
|
|
338
382
|
}
|
|
339
|
-
function isLoopbackHost(hostname) {
|
|
340
|
-
return hostname === "localhost" || hostname === "127.0.0.1";
|
|
341
|
-
}
|
|
342
|
-
function alignLoopbackHostToEditor(url) {
|
|
343
|
-
if (isLoopbackHost(window.location.hostname) &&
|
|
344
|
-
isLoopbackHost(url.hostname)) {
|
|
345
|
-
// Sitecore auth cookies are host-scoped, so localhost and 127.0.0.1 are
|
|
346
|
-
// different origins even when they point at the same machine.
|
|
347
|
-
url.hostname = window.location.hostname;
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
function isXmCloudManagedEditingHost(url) {
|
|
351
|
-
return url.hostname.endsWith("-eh.sitecorecloud.io");
|
|
352
|
-
}
|
|
353
|
-
function alignXmCloudManagedEditingHostToEditor(url) {
|
|
354
|
-
if (window.location.hostname.endsWith(".sitecorecloud.io") &&
|
|
355
|
-
isXmCloudManagedEditingHost(url)) {
|
|
356
|
-
url.protocol = window.location.protocol;
|
|
357
|
-
url.hostname = window.location.hostname;
|
|
358
|
-
url.port = window.location.port;
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
383
|
function getUrlOrigin(url) {
|
|
362
384
|
if (!url)
|
|
363
385
|
return undefined;
|
|
@@ -371,61 +393,6 @@ function getUrlOrigin(url) {
|
|
|
371
393
|
return undefined;
|
|
372
394
|
}
|
|
373
395
|
}
|
|
374
|
-
function getEditorQueryParam(name) {
|
|
375
|
-
try {
|
|
376
|
-
return new URLSearchParams(window.location.search).get(name) || undefined;
|
|
377
|
-
}
|
|
378
|
-
catch {
|
|
379
|
-
return undefined;
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
function inferRoutePathFromSitecoreItemPath(itemPath) {
|
|
383
|
-
const segments = (itemPath || "")
|
|
384
|
-
.split("/")
|
|
385
|
-
.map((segment) => segment.trim())
|
|
386
|
-
.filter(Boolean);
|
|
387
|
-
const homeIndex = segments
|
|
388
|
-
.map((segment) => segment.toLowerCase())
|
|
389
|
-
.lastIndexOf("home");
|
|
390
|
-
if (homeIndex < 0)
|
|
391
|
-
return undefined;
|
|
392
|
-
const routeSegments = segments.slice(homeIndex + 1);
|
|
393
|
-
if (routeSegments.length === 0)
|
|
394
|
-
return "/";
|
|
395
|
-
return `/${routeSegments.map(encodeURIComponent).join("/")}`;
|
|
396
|
-
}
|
|
397
|
-
function isRootRenderPath(pathname) {
|
|
398
|
-
return !pathname || pathname === "/";
|
|
399
|
-
}
|
|
400
|
-
function applyParheliaRenderContext(renderUrl, pageItemDescriptor, siteName) {
|
|
401
|
-
if (siteName) {
|
|
402
|
-
if (!renderUrl.searchParams.has("site")) {
|
|
403
|
-
renderUrl.searchParams.set("site", siteName);
|
|
404
|
-
}
|
|
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")) {
|
|
409
|
-
renderUrl.searchParams.set("sc_site", siteName);
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
if (!renderUrl.searchParams.has("sc_itemid")) {
|
|
413
|
-
renderUrl.searchParams.set("sc_itemid", pageItemDescriptor.id);
|
|
414
|
-
}
|
|
415
|
-
if (!renderUrl.searchParams.has("sc_lang")) {
|
|
416
|
-
renderUrl.searchParams.set("sc_lang", pageItemDescriptor.language);
|
|
417
|
-
}
|
|
418
|
-
if (!renderUrl.searchParams.has("sc_version")) {
|
|
419
|
-
renderUrl.searchParams.set("sc_version", String(pageItemDescriptor.version));
|
|
420
|
-
}
|
|
421
|
-
const routePath = inferRoutePathFromSitecoreItemPath(pageItemDescriptor.path);
|
|
422
|
-
if (!routePath || !isRootRenderPath(renderUrl.pathname))
|
|
423
|
-
return;
|
|
424
|
-
renderUrl.pathname = routePath;
|
|
425
|
-
if (!renderUrl.searchParams.has("route")) {
|
|
426
|
-
renderUrl.searchParams.set("route", routePath);
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
396
|
function resolveBridgeComponentId(rawId, page) {
|
|
430
397
|
if (!rawId)
|
|
431
398
|
return undefined;
|
|
@@ -582,9 +549,38 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
582
549
|
const bridgePatchSignatureRef = useRef(new Map());
|
|
583
550
|
const bridgeTextRangeSourcesRef = useRef(new Map());
|
|
584
551
|
const activeBridgeInlineEditRef = useRef(null);
|
|
552
|
+
const previousBridgeInlineEditModeRef = useRef(editContext.mode);
|
|
585
553
|
const latestBridgeScrollRef = useRef(undefined);
|
|
586
554
|
const directOverlayScrollSyncRef = useRef(false);
|
|
587
555
|
const pendingRefreshScrollRef = useRef(undefined);
|
|
556
|
+
const restorePendingRefreshScroll = useCallback((iframe, targetScroll, observedScroll) => {
|
|
557
|
+
if (!targetScroll)
|
|
558
|
+
return;
|
|
559
|
+
const clearPendingTarget = () => {
|
|
560
|
+
if (pendingRefreshScrollRef.current === targetScroll) {
|
|
561
|
+
pendingRefreshScrollRef.current = undefined;
|
|
562
|
+
}
|
|
563
|
+
};
|
|
564
|
+
const restoreStarted = restoreIframeWindowScroll(iframe, targetScroll, {
|
|
565
|
+
maxAttempts: 150,
|
|
566
|
+
onSettled: clearPendingTarget,
|
|
567
|
+
onExpired: clearPendingTarget,
|
|
568
|
+
});
|
|
569
|
+
if (!restoreStarted) {
|
|
570
|
+
clearPendingTarget();
|
|
571
|
+
}
|
|
572
|
+
const currentScroll = observedScroll ??
|
|
573
|
+
getIframeWindowScroll(iframe) ?? { x: 0, y: 0 };
|
|
574
|
+
const deltaX = targetScroll.x - currentScroll.x;
|
|
575
|
+
const deltaY = targetScroll.y - currentScroll.y;
|
|
576
|
+
if (Math.abs(deltaX) > 1 || Math.abs(deltaY) > 1) {
|
|
577
|
+
bridgeClientRef.current?.sendCommand("scrollBy", {
|
|
578
|
+
x: deltaX,
|
|
579
|
+
y: deltaY,
|
|
580
|
+
behavior: "instant",
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
}, []);
|
|
588
584
|
const suppressNextSelectionScrollRef = useRef(false);
|
|
589
585
|
// Timestamp (ms) until which selection auto-scroll is suppressed. Held open for
|
|
590
586
|
// the whole drag and a short window after, so the drop's re-selection doesn't
|
|
@@ -694,6 +690,14 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
694
690
|
return (bridgeClientRef.current?.sendCommand("beginInlineEdit", payload) ??
|
|
695
691
|
false);
|
|
696
692
|
}, []);
|
|
693
|
+
const sendCancelInlineEdit = useCallback((payload) => {
|
|
694
|
+
return (bridgeClientRef.current?.sendCommand("cancelInlineEdit", payload) ??
|
|
695
|
+
false);
|
|
696
|
+
}, []);
|
|
697
|
+
const sendApplyFieldPatchCommand = useCallback((payload) => {
|
|
698
|
+
return (bridgeClientRef.current?.sendCommand("applyFieldPatch", payload) ??
|
|
699
|
+
false);
|
|
700
|
+
}, []);
|
|
697
701
|
const sendApplyRichTextCommand = useCallback((payload) => {
|
|
698
702
|
return (bridgeClientRef.current?.sendCommand("applyRichTextCommand", payload) ??
|
|
699
703
|
false);
|
|
@@ -703,6 +707,8 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
703
707
|
activeBridgeInlineEditRef,
|
|
704
708
|
blockIframeBlurUntil,
|
|
705
709
|
sendBeginInlineEdit,
|
|
710
|
+
sendCancelInlineEdit,
|
|
711
|
+
sendApplyFieldPatch: sendApplyFieldPatchCommand,
|
|
706
712
|
});
|
|
707
713
|
const beginTrackedBridgeInlineEdit = useCallback(async (interaction) => {
|
|
708
714
|
activeBridgeInlineEditRef.current = null;
|
|
@@ -757,7 +763,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
757
763
|
}, []);
|
|
758
764
|
useEffect(() => {
|
|
759
765
|
return editContext.registerModeChangeParticipant({
|
|
760
|
-
beforeModeChange: () => {
|
|
766
|
+
beforeModeChange: (nextMode) => {
|
|
767
|
+
if (nextMode === "suggestions" &&
|
|
768
|
+
getSelectedRangeInlineEditInteraction(editContextRef.current?.selectedRange)) {
|
|
769
|
+
return;
|
|
770
|
+
}
|
|
761
771
|
editContext.operations.onFieldBlur?.();
|
|
762
772
|
void fieldsContextRef.current?.setFocusedField(undefined, false);
|
|
763
773
|
endBridgeFieldFocus();
|
|
@@ -769,6 +779,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
769
779
|
}, [
|
|
770
780
|
clearBridgeInlineDedupe,
|
|
771
781
|
editContext,
|
|
782
|
+
editContextRef,
|
|
772
783
|
endBridgeFieldFocus,
|
|
773
784
|
fieldsContextRef,
|
|
774
785
|
]);
|
|
@@ -1163,6 +1174,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1163
1174
|
cancelable: true,
|
|
1164
1175
|
detail: caretAnchor ? { anchor: caretAnchor } : undefined,
|
|
1165
1176
|
}));
|
|
1177
|
+
return;
|
|
1178
|
+
}
|
|
1179
|
+
const keyboardEvent = createKeyboardEventFromBridgeInteraction(interaction);
|
|
1180
|
+
if (keyboardEvent) {
|
|
1181
|
+
void editContextRef.current?.handleKeyDown(keyboardEvent);
|
|
1166
1182
|
}
|
|
1167
1183
|
return;
|
|
1168
1184
|
}
|
|
@@ -1511,6 +1527,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1511
1527
|
bridge.sendCommand("setZoom", {
|
|
1512
1528
|
zoom: pageViewContextRef.current?.zoom ?? 1,
|
|
1513
1529
|
});
|
|
1530
|
+
if (pendingRefreshScrollRef.current) {
|
|
1531
|
+
restorePendingRefreshScroll(iframe, pendingRefreshScrollRef.current);
|
|
1532
|
+
}
|
|
1514
1533
|
break;
|
|
1515
1534
|
case "structureUpdated":
|
|
1516
1535
|
pageViewContext.setBridgeStructure(event.payload.structure);
|
|
@@ -1574,17 +1593,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1574
1593
|
x: 0,
|
|
1575
1594
|
y: 0,
|
|
1576
1595
|
};
|
|
1577
|
-
|
|
1578
|
-
const deltaY = targetScroll.y - observedScroll.y;
|
|
1579
|
-
pendingRefreshScrollRef.current = undefined;
|
|
1580
|
-
if (Math.abs(deltaX) > 1 || Math.abs(deltaY) > 1) {
|
|
1581
|
-
restoreIframeWindowScroll(iframe, targetScroll);
|
|
1582
|
-
bridgeClientRef.current?.sendCommand("scrollBy", {
|
|
1583
|
-
x: deltaX,
|
|
1584
|
-
y: deltaY,
|
|
1585
|
-
behavior: "instant",
|
|
1586
|
-
});
|
|
1587
|
-
}
|
|
1596
|
+
restorePendingRefreshScroll(iframe, targetScroll, observedScroll);
|
|
1588
1597
|
}
|
|
1589
1598
|
setShowSpinner(false);
|
|
1590
1599
|
break;
|
|
@@ -1669,6 +1678,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1669
1678
|
scheduleBridgeDomRevision,
|
|
1670
1679
|
scheduleBridgeGeometryRevision,
|
|
1671
1680
|
shouldTrackMinimapScroll,
|
|
1681
|
+
restorePendingRefreshScroll,
|
|
1672
1682
|
]);
|
|
1673
1683
|
useEffect(() => {
|
|
1674
1684
|
const repository = editContext.itemsRepository;
|
|
@@ -2276,6 +2286,23 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2276
2286
|
suggestionsCursorActive: editContext.mode === "suggestions" || editContext.showSuggestedEdits,
|
|
2277
2287
|
});
|
|
2278
2288
|
}, [editContext.mode, editContext.showSuggestedEdits]);
|
|
2289
|
+
useEffect(() => {
|
|
2290
|
+
const previousMode = previousBridgeInlineEditModeRef.current;
|
|
2291
|
+
previousBridgeInlineEditModeRef.current = editContext.mode;
|
|
2292
|
+
if (previousMode === editContext.mode ||
|
|
2293
|
+
editContext.mode !== "suggestions") {
|
|
2294
|
+
return;
|
|
2295
|
+
}
|
|
2296
|
+
const interaction = getSelectedRangeInlineEditInteraction(editContextRef.current?.selectedRange);
|
|
2297
|
+
if (!interaction)
|
|
2298
|
+
return;
|
|
2299
|
+
void beginTrackedBridgeInlineEdit(interaction);
|
|
2300
|
+
}, [
|
|
2301
|
+
beginTrackedBridgeInlineEdit,
|
|
2302
|
+
editContext.mode,
|
|
2303
|
+
editContext.modeTransitionRevision,
|
|
2304
|
+
editContextRef,
|
|
2305
|
+
]);
|
|
2279
2306
|
useEffect(() => {
|
|
2280
2307
|
bridgeClientRef.current?.sendCommand("setLayoutKind", {
|
|
2281
2308
|
layoutKind: editContext.layoutMode,
|
|
@@ -2360,15 +2387,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2360
2387
|
setShowSpinner(false);
|
|
2361
2388
|
applyIframeZoom(iframeRef.current, zoom, "PageViewerFrame.tsx:onLoad-zoom");
|
|
2362
2389
|
if (pendingRefreshScrollRef.current) {
|
|
2363
|
-
|
|
2364
|
-
pendingRefreshScrollRef.current = undefined;
|
|
2365
|
-
restoreIframeWindowScroll(iframeRef.current, targetScroll);
|
|
2366
|
-
const observedScroll = getIframeWindowScroll(iframeRef.current) ?? { x: 0, y: 0 };
|
|
2367
|
-
bridgeClientRef.current?.sendCommand("scrollBy", {
|
|
2368
|
-
x: targetScroll.x - observedScroll.x,
|
|
2369
|
-
y: targetScroll.y - observedScroll.y,
|
|
2370
|
-
behavior: "instant",
|
|
2371
|
-
});
|
|
2390
|
+
restorePendingRefreshScroll(iframeRef.current, pendingRefreshScrollRef.current);
|
|
2372
2391
|
}
|
|
2373
2392
|
}
|
|
2374
2393
|
} }), 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 &&
|