@parhelia/core 0.4.12796 → 0.4.12818
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.d.ts +2 -0
- package/dist/agents-view/AgentsWorkspaceView.js +12 -3
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/components/WorkspaceHomeView.d.ts +14 -3
- package/dist/components/WorkspaceHomeView.js +7 -4
- package/dist/components/WorkspaceHomeView.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +7 -1
- package/dist/components/ui/dialog.js +6 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.js +40 -6
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts +2 -2
- package/dist/components/ui/tooltip.js +9 -4
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/config/config.js +9 -2
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +2 -0
- package/dist/config/types.js.map +1 -1
- package/dist/editor/ConfirmationDialog.d.ts +1 -0
- package/dist/editor/ConfirmationDialog.js +9 -2
- package/dist/editor/ConfirmationDialog.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +9 -1
- package/dist/editor/ContentTree.js +50 -23
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldList.js +41 -4
- package/dist/editor/FieldList.js.map +1 -1
- package/dist/editor/FieldListField.js +164 -127
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/LinkEditorDialog.d.ts +3 -0
- package/dist/editor/LinkEditorDialog.js +9 -4
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +9 -2
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/SetupWizard.js +1 -1
- package/dist/editor/SetupWizard.js.map +1 -1
- package/dist/editor/UsedBy.d.ts +2 -0
- package/dist/editor/UsedBy.js +50 -10
- package/dist/editor/UsedBy.js.map +1 -1
- package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
- package/dist/editor/agent-changes/agentChangeTargets.js +174 -0
- package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +57 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js +109 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
- package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
- package/dist/editor/ai/AgentImagePreview.js +41 -0
- package/dist/editor/ai/AgentImagePreview.js.map +1 -0
- package/dist/editor/ai/Agents.js +13 -2
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/ContentInspectorPopover.d.ts +2 -1
- package/dist/editor/ai/ContentInspectorPopover.js +3 -3
- package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
- package/dist/editor/ai/MediaImage.js +2 -1
- package/dist/editor/ai/MediaImage.js.map +1 -1
- package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
- package/dist/editor/ai/activityRowNavigation.js +53 -0
- package/dist/editor/ai/activityRowNavigation.js.map +1 -0
- package/dist/editor/ai/agentMessageGrouping.d.ts +1 -1
- package/dist/editor/ai/agentMessageGrouping.js +2 -13
- package/dist/editor/ai/agentMessageGrouping.js.map +1 -1
- package/dist/editor/ai/agentMessageHelpers.js +21 -1
- package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSelectors.js +0 -4
- package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -2
- package/dist/editor/ai/terminal/agentSessionState.js +8 -12
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
- package/dist/editor/ai/terminal/agentTurnTiming.d.ts +2 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js +26 -1
- package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +48 -6
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +6 -5
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +20 -10
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +12 -9
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +3 -71
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +2 -2
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -1
- 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/AgentTerminalFullUpperContent.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +9 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -6
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +8 -2
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +6 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -3
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +12 -9
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +15 -4
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +2 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +22 -54
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
- package/dist/editor/ai/terminal/components/UserMessage.js +17 -4
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.d.ts +2 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +6 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +51 -14
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +2 -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/useAgentProviderWait.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +3 -3
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +14 -10
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +6 -7
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +23 -16
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -2
- package/dist/editor/ai/terminal/useAgentSession.js +8 -15
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js +2 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +3 -3
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +0 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +3 -12
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +18 -5
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +9 -10
- 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-image-editor/AiImageEditorDialog.js +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
- package/dist/editor/bridge/bridgeKeys.js +8 -0
- package/dist/editor/bridge/bridgeKeys.js.map +1 -0
- package/dist/editor/bridge/linkDownload.d.ts +3 -0
- package/dist/editor/bridge/linkDownload.js +52 -0
- package/dist/editor/bridge/linkDownload.js.map +1 -0
- package/dist/editor/bridge/protocol.d.ts +34 -0
- package/dist/editor/bridge/protocol.js +3 -1
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +30 -21
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/OperationDialogContent.d.ts +10 -3
- package/dist/editor/client/OperationDialogContent.js +27 -4
- package/dist/editor/client/OperationDialogContent.js.map +1 -1
- package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
- package/dist/editor/client/agentLoadItemPolicy.js +60 -0
- package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
- package/dist/editor/client/editContext.d.ts +16 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +5 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +53 -13
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/itemsRepository.js +26 -7
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/localUserEditActivity.d.ts +3 -0
- package/dist/editor/client/localUserEditActivity.js +12 -0
- package/dist/editor/client/localUserEditActivity.js.map +1 -0
- package/dist/editor/client/operations.js +26 -13
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/commands/mediaCommands.d.ts +5 -0
- package/dist/editor/commands/mediaCommands.js +59 -0
- package/dist/editor/commands/mediaCommands.js.map +1 -0
- package/dist/editor/commands/undo.js +8 -2
- package/dist/editor/commands/undo.js.map +1 -1
- package/dist/editor/componentVisualMode.d.ts +14 -0
- package/dist/editor/componentVisualMode.js +43 -0
- package/dist/editor/componentVisualMode.js.map +1 -0
- package/dist/editor/field-types/FieldHistoryBoundary.d.ts +7 -0
- package/dist/editor/field-types/FieldHistoryBoundary.js +19 -0
- package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -0
- package/dist/editor/field-types/ImageFieldEditor.js +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +29 -46
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +9 -2
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +28 -79
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.js +59 -8
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/types.d.ts +7 -0
- package/dist/editor/field-types/richtext/types.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +18 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js +57 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +11 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js +32 -16
- package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
- package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +36 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js +123 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
- package/dist/editor/field-types/useTextCompletion.js +13 -3
- package/dist/editor/field-types/useTextCompletion.js.map +1 -1
- package/dist/editor/media-selector/AiImageSearchPrompt.d.ts +2 -1
- package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
- package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
- package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
- package/dist/editor/media-selector/Thumbnails.js +2 -2
- package/dist/editor/media-selector/Thumbnails.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +142 -42
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/media-selector/UploadMediaFileDialog.d.ts +5 -0
- package/dist/editor/media-selector/UploadMediaFileDialog.js +14 -0
- package/dist/editor/media-selector/UploadMediaFileDialog.js.map +1 -0
- package/dist/editor/media-selector/UploadZone.d.ts +6 -1
- package/dist/editor/media-selector/UploadZone.js +10 -7
- package/dist/editor/media-selector/UploadZone.js.map +1 -1
- package/dist/editor/media-selector/mediaFileType.d.ts +2 -0
- package/dist/editor/media-selector/mediaFileType.js +37 -0
- package/dist/editor/media-selector/mediaFileType.js.map +1 -1
- package/dist/editor/menubar/GenericToolbar.d.ts +2 -1
- package/dist/editor/menubar/GenericToolbar.js +2 -2
- package/dist/editor/menubar/GenericToolbar.js.map +1 -1
- package/dist/editor/menubar/ToolbarFactory.js +1 -1
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +10 -3
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +6 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/notifications/WatchButton.js +11 -4
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +20 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +31 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +33 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +290 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +27 -10
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +6 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +53 -6
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +2 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +14 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +59 -13
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +6 -271
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +15 -2
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +2 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +58 -5
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/DeviceToolbar.js +53 -10
- package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.js +22 -24
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +204 -27
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.js +1 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
- package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
- package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
- package/dist/editor/page-viewer/pageViewContext.d.ts +2 -1
- package/dist/editor/page-viewer/pageViewContext.js +10 -4
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/pageModel.d.ts +2 -0
- package/dist/editor/reviews/Comment.js +13 -12
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +25 -29
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.js +47 -13
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentQuote.d.ts +4 -0
- package/dist/editor/reviews/CommentQuote.js +30 -0
- package/dist/editor/reviews/CommentQuote.js.map +1 -0
- package/dist/editor/reviews/CommentThreadAgentLink.d.ts +23 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
- package/dist/editor/reviews/CommentView.d.ts +2 -3
- package/dist/editor/reviews/CommentView.js +17 -14
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/Comments.js +14 -5
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/CreateReviewDialog.js +21 -4
- package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
- package/dist/editor/reviews/CreateReviewReviewersStep.d.ts +6 -1
- package/dist/editor/reviews/CreateReviewReviewersStep.js +29 -27
- package/dist/editor/reviews/CreateReviewReviewersStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.d.ts +8 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.js +4 -3
- package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -1
- package/dist/editor/reviews/MentionText.d.ts +5 -1
- package/dist/editor/reviews/MentionText.js +23 -0
- package/dist/editor/reviews/MentionText.js.map +1 -1
- package/dist/editor/reviews/ReviewCard.js +14 -8
- package/dist/editor/reviews/ReviewCard.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +11 -3
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +75 -15
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionCommentThread.js +5 -4
- package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
- package/dist/editor/reviews/commentAi.d.ts +27 -3
- package/dist/editor/reviews/commentAi.js +109 -28
- package/dist/editor/reviews/commentAi.js.map +1 -1
- package/dist/editor/reviews/commentImages.d.ts +49 -0
- package/dist/editor/reviews/commentImages.js +164 -0
- package/dist/editor/reviews/commentImages.js.map +1 -0
- package/dist/editor/reviews/feedbackAvatar.js +11 -5
- package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
- package/dist/editor/reviews/feedbackCommentRules.d.ts +1 -1
- package/dist/editor/reviews/feedbackCommentRules.js +3 -9
- package/dist/editor/reviews/feedbackCommentRules.js.map +1 -1
- package/dist/editor/reviews/feedbackSelection.d.ts +13 -0
- package/dist/editor/reviews/feedbackSelection.js +37 -0
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/suggestionDisplayValue.d.ts +24 -2
- package/dist/editor/reviews/suggestionDisplayValue.js +28 -4
- package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
- package/dist/editor/reviews/useCommentImagePaste.d.ts +45 -0
- package/dist/editor/reviews/useCommentImagePaste.js +149 -0
- package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
- package/dist/editor/services/agentErrorMessage.js +5 -1
- package/dist/editor/services/agentErrorMessage.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +12 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +2 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +17 -2
- package/dist/editor/services/editService.js +7 -2
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/reviewsService.d.ts +2 -2
- package/dist/editor/services/reviewsService.js +3 -1
- package/dist/editor/services/reviewsService.js.map +1 -1
- package/dist/editor/services/searchService.d.ts +2 -1
- package/dist/editor/services/searchService.js +2 -1
- package/dist/editor/services/searchService.js.map +1 -1
- package/dist/editor/services/userResolution.js +6 -5
- package/dist/editor/services/userResolution.js.map +1 -1
- package/dist/editor/settings/About.js +4 -3
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +1 -1
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +11 -0
- package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +12 -4
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +38 -22
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/EditHistory.js +2 -2
- package/dist/editor/sidebar/EditHistory.js.map +1 -1
- package/dist/editor/sidebar/MainContentTree.js +1 -1
- package/dist/editor/sidebar/MainContentTree.js.map +1 -1
- package/dist/editor/sidebar/MorePanelsButton.js +2 -2
- package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelMenuItem.js +2 -2
- package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
- package/dist/editor/sidebar/Validation.js +38 -44
- package/dist/editor/sidebar/Validation.js.map +1 -1
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +62 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js +215 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
- package/dist/editor/ui/ItemCollectionEditor.d.ts +17 -1
- package/dist/editor/ui/ItemCollectionEditor.js +17 -5
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/ItemList.d.ts +5 -0
- package/dist/editor/ui/ItemList.js +10 -2
- package/dist/editor/ui/ItemList.js.map +1 -1
- package/dist/editor/ui/ItemSearch.d.ts +7 -0
- package/dist/editor/ui/ItemSearch.js +14 -6
- package/dist/editor/ui/ItemSearch.js.map +1 -1
- package/dist/editor/ui/PublishDialog.js +3 -2
- package/dist/editor/ui/PublishDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.js +58 -3
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.d.ts +15 -0
- package/dist/editor/ui/Splitter.js +77 -100
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TreeListSelector.d.ts +15 -1
- package/dist/editor/ui/TreeListSelector.js +2 -2
- package/dist/editor/ui/TreeListSelector.js.map +1 -1
- package/dist/editor/ui/WorkboxItemsTable.d.ts +6 -1
- package/dist/editor/ui/WorkboxItemsTable.js +44 -48
- package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
- package/dist/editor/ui/publishReadiness.d.ts +13 -0
- package/dist/editor/ui/publishReadiness.js +56 -0
- package/dist/editor/ui/publishReadiness.js.map +1 -1
- package/dist/editor/utils/keyboardNavigation.js +20 -0
- package/dist/editor/utils/keyboardNavigation.js.map +1 -1
- package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
- package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
- package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
- package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
- package/dist/editor/validation/navigateToValidationIssue.js +43 -0
- package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
- package/dist/editor/validation/validationFixAgent.d.ts +26 -0
- package/dist/editor/validation/validationFixAgent.js +124 -0
- package/dist/editor/validation/validationFixAgent.js.map +1 -0
- package/dist/editor/validation/validationSeverity.d.ts +15 -0
- package/dist/editor/validation/validationSeverity.js +47 -0
- package/dist/editor/validation/validationSeverity.js.map +1 -0
- package/dist/editor/version-diff/versionDiffGeometryKeys.d.ts +10 -4
- package/dist/editor/version-diff/versionDiffGeometryKeys.js +21 -7
- package/dist/editor/version-diff/versionDiffGeometryKeys.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +6 -1
- package/dist/editor/version-diff/versionDiffTargets.js +5 -5
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/editor/views/editorSlotContext.d.ts +4 -0
- package/dist/editor/views/editorSlotContext.js +37 -1
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +6 -5
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +33 -18
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +65 -49
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.js +11 -11
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/GoalDataView.d.ts +32 -1
- package/dist/task-board/components/GoalDataView.js +207 -51
- package/dist/task-board/components/GoalDataView.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.d.ts +2 -18
- package/dist/task-board/components/ProjectDashboard.js +2 -206
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectGoalsPanel.js +115 -10
- package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
- package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
- package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
- package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
- package/dist/task-board/components/TaskBoardHomeView.d.ts +11 -0
- package/dist/task-board/components/TaskBoardHomeView.js +40 -2
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +2 -11
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +62 -23
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/commentAuthor.d.ts +14 -0
- package/dist/task-board/components/commentAuthor.js +25 -0
- package/dist/task-board/components/commentAuthor.js.map +1 -0
- package/dist/task-board/taskBoardNavStore.d.ts +6 -0
- package/dist/task-board/taskBoardNavStore.js +36 -1
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/types.d.ts +4 -0
- package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
- package/dist/task-board/utils/projectDashboardModel.js +355 -0
- package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
- package/dist/task-board/views/DependencyGraphView.d.ts +7 -1
- package/dist/task-board/views/DependencyGraphView.js +58 -19
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
- package/dist/task-board/views/ProjectDashboardView.js +316 -0
- package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
- package/dist/tour/Tour.js +23 -3
- package/dist/tour/Tour.js.map +1 -1
- package/dist/tour/TourInputBoundary.d.ts +6 -0
- package/dist/tour/TourInputBoundary.js +82 -0
- package/dist/tour/TourInputBoundary.js.map +1 -0
- package/dist/tour/sandbox-tour.js +1 -0
- package/dist/tour/sandbox-tour.js.map +1 -1
- package/dist/types.d.ts +29 -0
- package/images/Parhelia-Onboarding-Beach.jpg +0 -0
- package/package.json +1 -1
- package/images/Parhelia-Onboarding-BG.jpg +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useEffect, useLayoutEffect, useRef, useState, } from "react";
|
|
2
|
+
import { useCallback, useEffect, useLayoutEffect, useRef, useState, useSyncExternalStore, } from "react";
|
|
3
3
|
import { BRIDGE_DOM_UPDATED_EVENT, MiniMap } from "./MiniMap";
|
|
4
4
|
import { resolveMiniMapVisibility, } from "./minimapVisibility";
|
|
5
5
|
import { useCanvasSelection, useEditContext, useEditContextRef, useFieldsEditContext, useFieldsEditContextRef, } from "../client/editContext";
|
|
@@ -33,7 +33,7 @@ import { toSitecoreDate } from "../utils/sitecoreDate";
|
|
|
33
33
|
import { pickVersionAtDate } from "../utils/versionAtDate";
|
|
34
34
|
import { BridgeClient } from "../bridge/BridgeClient";
|
|
35
35
|
import { beginPerfTrace, isPerfTraceActive, isPerfTraceEnabled, perfTraceStep, } from "../perfTrace";
|
|
36
|
-
import { getPendingFieldSuggestions, getSuggestionSelectionKey, getSuggestionDisplayValue, } from "../reviews/suggestionDisplayValue";
|
|
36
|
+
import { getBaselineFieldValue, getPendingFieldSuggestions, getSuggestionPreviewScope, getSuggestionSelectionKey, getSuggestionDisplayValue, previewScopeCoversField, } from "../reviews/suggestionDisplayValue";
|
|
37
37
|
import { bridgeItemDescriptorMatchesItem, bridgeStructureTargetsChangedItem, } from "./bridgeItemChangeTarget";
|
|
38
38
|
import { buildBridgeFieldPatchPayload, buildBridgeFieldPatchSignature, buildRemoteCaretFieldPatches, getBridgeFieldPatchValue, hasRemoteCaretDraftForField, isBridgePatchableTextField, isSuggestionPreviewPatchSignature, } from "./bridgeFieldPatch";
|
|
39
39
|
import { bridgeSelectionMatchesInteraction, resolveBridgeTextCompletionInput, } from "./bridgeTextCompletion";
|
|
@@ -47,10 +47,14 @@ import { projectParentPointerToHost, resolveParentBridgePointerRelease, } from "
|
|
|
47
47
|
import { getTextCompletion, normalizeTextCompletion, } from "../services/textCompletionService";
|
|
48
48
|
import { resolvePageAndSiteByPath } from "../services/contentService";
|
|
49
49
|
import { areInternalLinkItemIdsEqual, extractInternalLinkPath, extractInternalLinkTargetItemId, isSamePageFragmentHref, shouldOpenInternalLinkInNewSlot, } from "./internalLinkNavigation";
|
|
50
|
+
import { downloadLink } from "../bridge/linkDownload";
|
|
50
51
|
const ZOOM_MIN = 0.25;
|
|
51
52
|
const ZOOM_MAX = 2;
|
|
52
53
|
const ZOOM_STEP = 0.25;
|
|
53
54
|
const ZOOM_TRANSITION_MS = 300;
|
|
55
|
+
// useSyncExternalStore fallbacks for frames rendered without a slot context.
|
|
56
|
+
const subscribeToNothing = () => () => { };
|
|
57
|
+
const getUndefined = () => undefined;
|
|
54
58
|
const BRIDGE_INLINE_EDIT_RELEASE_EVENT = "parhelia:bridge-inline-edit-release";
|
|
55
59
|
const INLINE_AI_CLOSE_EVENT = "inline-ai-close";
|
|
56
60
|
const BRIDGE_INLINE_LINK_OPEN_EVENT = "bridge-inline-link-open";
|
|
@@ -932,7 +936,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
932
936
|
bridgeTextCompletionAbortRef.current?.abort();
|
|
933
937
|
};
|
|
934
938
|
}, []);
|
|
935
|
-
const { beginInlineEdit: beginBridgeInlineEdit, clearInlineDedupe: clearBridgeInlineDedupe, endFieldFocus: endBridgeFieldFocus, flushPendingFieldValueChanges: flushPendingBridgeFieldValueChanges, handleFieldValueChanged: handleBridgeFieldValueChanged, handleInlineEditEnded: handleBridgeInlineEditEnded, supersedeInlineEdit: supersedeBridgeInlineEdit, } = useBridgeInlineEditing({
|
|
939
|
+
const { beginInlineEdit: beginBridgeInlineEdit, clearInlineDedupe: clearBridgeInlineDedupe, endFieldFocus: endBridgeFieldFocus, flushPendingFieldValueChanges: flushPendingBridgeFieldValueChanges, handleFieldValueChanged: handleBridgeFieldValueChanged, handleInlineEditEnded: handleBridgeInlineEditEnded, supersedeInlineEdit: supersedeBridgeInlineEdit, supersedeFieldEdits: supersedeBridgeFieldEdits, } = useBridgeInlineEditing({
|
|
936
940
|
pageViewContextRef,
|
|
937
941
|
inlineEditSession: bridgeInlineEditSession,
|
|
938
942
|
blockIframeBlurUntil,
|
|
@@ -940,9 +944,80 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
940
944
|
sendCancelInlineEdit,
|
|
941
945
|
sendApplyFieldPatch: sendApplyFieldPatchCommand,
|
|
942
946
|
});
|
|
947
|
+
// Outside suggestions mode a selected suggestion card previews its text on
|
|
948
|
+
// the canvas. An inline edit must start from the real field value, or the
|
|
949
|
+
// previewed suggestion would silently become part of a direct edit. Drop
|
|
950
|
+
// the selection and put the baseline back before the host begins editing.
|
|
951
|
+
const restoreSelectedSuggestionPreview = useCallback(async (elementKey) => {
|
|
952
|
+
const editor = editContextRef.current;
|
|
953
|
+
if (!editor || editor.mode === "suggestions")
|
|
954
|
+
return;
|
|
955
|
+
const previewScope = getSuggestionPreviewScope({
|
|
956
|
+
editorMode: editor.mode,
|
|
957
|
+
selectedSuggestion: editor.selectedSuggestedEdit,
|
|
958
|
+
showSelectedOnPage: editor.showSelectedSuggestionOnPage,
|
|
959
|
+
});
|
|
960
|
+
if (!previewScope.onlySuggestionId)
|
|
961
|
+
return;
|
|
962
|
+
const structureField = pageViewContextRef.current?.bridgeStructure?.fields.find((candidate) => candidate.elementKey === elementKey);
|
|
963
|
+
if (!structureField)
|
|
964
|
+
return;
|
|
965
|
+
const fallbackItem = pageViewContextRef.current?.pageItemDescriptor ??
|
|
966
|
+
pageViewContextRef.current?.page?.item?.descriptor;
|
|
967
|
+
const bridgeItem = structureField.item;
|
|
968
|
+
const itemDescriptor = {
|
|
969
|
+
id: bridgeItem?.id ?? fallbackItem?.id,
|
|
970
|
+
language: bridgeItem?.language ?? fallbackItem?.language,
|
|
971
|
+
version: typeof bridgeItem?.version === "number"
|
|
972
|
+
? bridgeItem.version
|
|
973
|
+
: fallbackItem?.version,
|
|
974
|
+
};
|
|
975
|
+
if (!itemDescriptor.id ||
|
|
976
|
+
!itemDescriptor.language ||
|
|
977
|
+
typeof itemDescriptor.version !== "number") {
|
|
978
|
+
return;
|
|
979
|
+
}
|
|
980
|
+
const loadedItem = await editor.itemsRepository.getItem(itemDescriptor);
|
|
981
|
+
const field = loadedItem?.fields.find((candidate) => fieldIdentifierMatches(candidate, structureField.fieldId));
|
|
982
|
+
if (!field)
|
|
983
|
+
return;
|
|
984
|
+
const suggestionField = {
|
|
985
|
+
fieldId: field.id || structureField.fieldId,
|
|
986
|
+
itemId: itemDescriptor.id,
|
|
987
|
+
language: itemDescriptor.language,
|
|
988
|
+
version: itemDescriptor.version,
|
|
989
|
+
pageItemId: pageViewContextRef.current?.pageItemDescriptor?.id,
|
|
990
|
+
pageItemLanguage: pageViewContextRef.current?.pageItemDescriptor?.language,
|
|
991
|
+
pageItemVersion: pageViewContextRef.current?.pageItemDescriptor?.version,
|
|
992
|
+
};
|
|
993
|
+
if (!previewScopeCoversField(previewScope, editor.suggestedEdits, suggestionField)) {
|
|
994
|
+
return;
|
|
995
|
+
}
|
|
996
|
+
editor.setSelectedSuggestedEdit(undefined);
|
|
997
|
+
const patch = buildBridgeFieldPatchPayload({
|
|
998
|
+
field,
|
|
999
|
+
structureField,
|
|
1000
|
+
display: {
|
|
1001
|
+
source: "real",
|
|
1002
|
+
value: getBaselineFieldValue({
|
|
1003
|
+
repositoryValue: getBridgeFieldPatchValue(field),
|
|
1004
|
+
modifiedFields: fieldsContextRef.current?.modifiedFields,
|
|
1005
|
+
field: suggestionField,
|
|
1006
|
+
}),
|
|
1007
|
+
},
|
|
1008
|
+
activeInlineEdit: activeBridgeInlineEditRef.current,
|
|
1009
|
+
});
|
|
1010
|
+
if (!patch)
|
|
1011
|
+
return;
|
|
1012
|
+
// Record the signature so the display effect treats the field as
|
|
1013
|
+
// restored instead of sending a duplicate patch into the edit session.
|
|
1014
|
+
bridgePatchSignatureRef.current.set(`${patch.elementKey}:${patch.fieldId}`, buildBridgeFieldPatchSignature(patch, structureField.textContent));
|
|
1015
|
+
sendApplyFieldPatchCommand(patch);
|
|
1016
|
+
}, [editContextRef, fieldsContextRef, sendApplyFieldPatchCommand]);
|
|
943
1017
|
const beginTrackedBridgeInlineEdit = useCallback(async (interaction) => {
|
|
944
1018
|
if (!interaction.elementKey || !interaction.fieldId)
|
|
945
1019
|
return false;
|
|
1020
|
+
await restoreSelectedSuggestionPreview(interaction.elementKey);
|
|
946
1021
|
const interactionItem = interaction.item?.id &&
|
|
947
1022
|
interaction.item.language &&
|
|
948
1023
|
typeof interaction.item.version === "number"
|
|
@@ -972,6 +1047,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
972
1047
|
bridgeInlineEditSession,
|
|
973
1048
|
editContext.mode,
|
|
974
1049
|
editContextRef,
|
|
1050
|
+
restoreSelectedSuggestionPreview,
|
|
975
1051
|
]);
|
|
976
1052
|
const endTrackedBridgeFieldFocus = useCallback(() => {
|
|
977
1053
|
clearActiveBridgeInlineEdit();
|
|
@@ -1032,7 +1108,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1032
1108
|
.detail;
|
|
1033
1109
|
const field = detail?.field;
|
|
1034
1110
|
const activeEdit = activeBridgeInlineEditRef.current;
|
|
1035
|
-
if (!field
|
|
1111
|
+
if (!field)
|
|
1112
|
+
return;
|
|
1113
|
+
// Ended sessions can still have a field change awaiting its lock.
|
|
1114
|
+
supersedeBridgeFieldEdits(field);
|
|
1115
|
+
if (!activeEdit)
|
|
1036
1116
|
return;
|
|
1037
1117
|
if (!bridgeKeysMatch(activeEdit.fieldId, field.fieldId))
|
|
1038
1118
|
return;
|
|
@@ -1054,7 +1134,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1054
1134
|
return () => {
|
|
1055
1135
|
window.removeEventListener(BRIDGE_INLINE_EDIT_RELEASE_EVENT, handleBridgeInlineEditRelease);
|
|
1056
1136
|
};
|
|
1057
|
-
}, [supersedeBridgeInlineEdit]);
|
|
1137
|
+
}, [supersedeBridgeInlineEdit, supersedeBridgeFieldEdits]);
|
|
1058
1138
|
useEffect(() => {
|
|
1059
1139
|
return editContext.registerModeChangeParticipant({
|
|
1060
1140
|
captureBeforeModeChange: () => commitActiveBridgeInlineEdit(),
|
|
@@ -1092,7 +1172,12 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1092
1172
|
flushPendingBridgeFieldValueChanges,
|
|
1093
1173
|
]);
|
|
1094
1174
|
const getBridgePatchDisplayValue = useCallback(({ field, structureField, itemDescriptor, preferRepositoryValue, }) => {
|
|
1095
|
-
const
|
|
1175
|
+
const previewScope = getSuggestionPreviewScope({
|
|
1176
|
+
editorMode: editContext.mode,
|
|
1177
|
+
selectedSuggestion: editContext.selectedSuggestedEdit,
|
|
1178
|
+
showSelectedOnPage: editContext.showSelectedSuggestionOnPage,
|
|
1179
|
+
});
|
|
1180
|
+
const showSuggestions = previewScope.mode === "suggestions";
|
|
1096
1181
|
const repositoryValue = getBridgeFieldPatchValue(field);
|
|
1097
1182
|
const selectionKey = getSuggestionSelectionKey({
|
|
1098
1183
|
itemId: itemDescriptor.id,
|
|
@@ -1114,7 +1199,8 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1114
1199
|
pageItemLanguage: pageViewContext.pageItemDescriptor?.language,
|
|
1115
1200
|
pageItemVersion: pageViewContext.pageItemDescriptor?.version,
|
|
1116
1201
|
},
|
|
1117
|
-
mode:
|
|
1202
|
+
mode: previewScope.mode,
|
|
1203
|
+
onlySuggestionId: previewScope.onlySuggestionId,
|
|
1118
1204
|
selectedVariantId: editContext.suggestionVariantSelection[selectionKey],
|
|
1119
1205
|
});
|
|
1120
1206
|
const result = {
|
|
@@ -1126,6 +1212,8 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1126
1212
|
return result;
|
|
1127
1213
|
}, [
|
|
1128
1214
|
editContext.mode,
|
|
1215
|
+
editContext.selectedSuggestedEdit,
|
|
1216
|
+
editContext.showSelectedSuggestionOnPage,
|
|
1129
1217
|
editContext.suggestedEdits,
|
|
1130
1218
|
editContext.suggestionVariantSelection,
|
|
1131
1219
|
fieldsContext?.modifiedFields,
|
|
@@ -1790,6 +1878,17 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
1790
1878
|
const editor = editContextRef.current;
|
|
1791
1879
|
if (!editor)
|
|
1792
1880
|
return;
|
|
1881
|
+
if (interaction.kind === "click" &&
|
|
1882
|
+
editor.mode === "preview" &&
|
|
1883
|
+
interaction.link?.download !== undefined) {
|
|
1884
|
+
try {
|
|
1885
|
+
await downloadLink(interaction.link.resolvedHref ?? interaction.link.href, interaction.link.download);
|
|
1886
|
+
}
|
|
1887
|
+
catch {
|
|
1888
|
+
editor.showToast("The linked file could not be downloaded.");
|
|
1889
|
+
}
|
|
1890
|
+
return;
|
|
1891
|
+
}
|
|
1793
1892
|
// In preview mode the bridge suppresses the canvas's native link
|
|
1794
1893
|
// navigation (the proxied iframe cannot follow root-relative hrefs), so
|
|
1795
1894
|
// a plain click on an internal link navigates the editor to the linked
|
|
@@ -2381,7 +2480,8 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2381
2480
|
const currentGeometry = pageViewContext.bridgeGeometry;
|
|
2382
2481
|
const viewportChanged = !currentGeometry ||
|
|
2383
2482
|
currentGeometry.viewport.width !== event.payload.viewport.width ||
|
|
2384
|
-
currentGeometry.viewport.height !==
|
|
2483
|
+
currentGeometry.viewport.height !==
|
|
2484
|
+
event.payload.viewport.height ||
|
|
2385
2485
|
currentGeometry.devicePixelRatio !==
|
|
2386
2486
|
event.payload.devicePixelRatio;
|
|
2387
2487
|
if (!viewportChanged)
|
|
@@ -2843,7 +2943,23 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2843
2943
|
const field = loadedItem.fields.find((candidate) => fieldIdentifierMatches(candidate, structureField.fieldId));
|
|
2844
2944
|
if (!field)
|
|
2845
2945
|
continue;
|
|
2846
|
-
const
|
|
2946
|
+
const suggestionField = {
|
|
2947
|
+
fieldId: field.id || structureField.fieldId,
|
|
2948
|
+
itemId: itemDescriptor.id,
|
|
2949
|
+
language: itemDescriptor.language,
|
|
2950
|
+
version: itemDescriptor.version,
|
|
2951
|
+
pageItemId: pageViewContextRef.current?.pageItemDescriptor?.id,
|
|
2952
|
+
pageItemLanguage: pageViewContextRef.current?.pageItemDescriptor?.language,
|
|
2953
|
+
pageItemVersion: pageViewContextRef.current?.pageItemDescriptor?.version,
|
|
2954
|
+
};
|
|
2955
|
+
// Suggestions mode previews every field with pending suggestions. A
|
|
2956
|
+
// selected suggestion card outside that mode previews only its own
|
|
2957
|
+
// field; every other field falls through to the restore logic below.
|
|
2958
|
+
const showSuggestions = previewScopeCoversField(getSuggestionPreviewScope({
|
|
2959
|
+
editorMode: editContext.mode,
|
|
2960
|
+
selectedSuggestion: editContext.selectedSuggestedEdit,
|
|
2961
|
+
showSelectedOnPage: editContext.showSelectedSuggestionOnPage,
|
|
2962
|
+
}), editContext.suggestedEdits, suggestionField);
|
|
2847
2963
|
const dirtyModifiedField = findModifiedBridgeField({
|
|
2848
2964
|
modifiedFields: fieldsContext?.modifiedFields,
|
|
2849
2965
|
structureField,
|
|
@@ -2858,15 +2974,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2858
2974
|
// need an explicit restore patch back to the baseline value.
|
|
2859
2975
|
const needsSuggestionRestore = !showSuggestions &&
|
|
2860
2976
|
(isSuggestionPreviewPatchSignature(bridgePatchSignatureRef.current.get(`${structureField.elementKey}:${structureField.fieldId}`)) ||
|
|
2861
|
-
getPendingFieldSuggestions(editContext.suggestedEdits,
|
|
2862
|
-
fieldId: field.id || structureField.fieldId,
|
|
2863
|
-
itemId: itemDescriptor.id,
|
|
2864
|
-
language: itemDescriptor.language,
|
|
2865
|
-
version: itemDescriptor.version,
|
|
2866
|
-
pageItemId: pageViewContextRef.current?.pageItemDescriptor?.id,
|
|
2867
|
-
pageItemLanguage: pageViewContextRef.current?.pageItemDescriptor?.language,
|
|
2868
|
-
pageItemVersion: pageViewContextRef.current?.pageItemDescriptor?.version,
|
|
2869
|
-
}).length > 0);
|
|
2977
|
+
getPendingFieldSuggestions(editContext.suggestedEdits, suggestionField).length > 0);
|
|
2870
2978
|
if (!showSuggestions &&
|
|
2871
2979
|
!dirtyModifiedField &&
|
|
2872
2980
|
!needsSuggestionRestore) {
|
|
@@ -2895,6 +3003,8 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2895
3003
|
editContext.itemsRepository,
|
|
2896
3004
|
editContext.itemsRepository.revision,
|
|
2897
3005
|
editContext.mode,
|
|
3006
|
+
editContext.selectedSuggestedEdit,
|
|
3007
|
+
editContext.showSelectedSuggestionOnPage,
|
|
2898
3008
|
editContext.suggestedEdits,
|
|
2899
3009
|
fieldsContext?.modifiedFields,
|
|
2900
3010
|
bridgeDomRevision,
|
|
@@ -2957,6 +3067,18 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2957
3067
|
timeoutMs: 15_000,
|
|
2958
3068
|
});
|
|
2959
3069
|
};
|
|
3070
|
+
const requestBridgePageSnapshot = (payload) => {
|
|
3071
|
+
const bridge = bridgeClientRef.current;
|
|
3072
|
+
if (!bridge) {
|
|
3073
|
+
return Promise.reject(new Error("The Parhelia bridge is not connected to the host."));
|
|
3074
|
+
}
|
|
3075
|
+
// A whole-page raster of a long page can take a while; the host itself
|
|
3076
|
+
// gives each renderer 10s before falling back.
|
|
3077
|
+
return bridge.requestCommand("capturePageSnapshot", payload, "pageSnapshotResult", {
|
|
3078
|
+
requestId: payload.requestId,
|
|
3079
|
+
timeoutMs: 30_000,
|
|
3080
|
+
});
|
|
3081
|
+
};
|
|
2960
3082
|
const requestBridgeCancelPointerDrag = () => {
|
|
2961
3083
|
return (bridgeClientRef.current?.sendCommand("cancelPointerDrag", {}) ?? false);
|
|
2962
3084
|
};
|
|
@@ -2967,6 +3089,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2967
3089
|
pageViewContext.requestBridgeCaptureSnapshot = requestBridgeCaptureSnapshot;
|
|
2968
3090
|
pageViewContext.requestBridgeComponentSnapshot =
|
|
2969
3091
|
requestBridgeComponentSnapshot;
|
|
3092
|
+
pageViewContext.requestBridgePageSnapshot = requestBridgePageSnapshot;
|
|
2970
3093
|
pageViewContext.requestBridgeCancelPointerDrag =
|
|
2971
3094
|
requestBridgeCancelPointerDrag;
|
|
2972
3095
|
return () => {
|
|
@@ -2987,6 +3110,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
2987
3110
|
requestBridgeComponentSnapshot) {
|
|
2988
3111
|
pageViewContext.requestBridgeComponentSnapshot = undefined;
|
|
2989
3112
|
}
|
|
3113
|
+
if (pageViewContext.requestBridgePageSnapshot === requestBridgePageSnapshot) {
|
|
3114
|
+
pageViewContext.requestBridgePageSnapshot = undefined;
|
|
3115
|
+
}
|
|
2990
3116
|
if (pageViewContext.requestBridgeCancelPointerDrag ===
|
|
2991
3117
|
requestBridgeCancelPointerDrag) {
|
|
2992
3118
|
pageViewContext.requestBridgeCancelPointerDrag = undefined;
|
|
@@ -3386,16 +3512,20 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
3386
3512
|
requestState.signature = signature;
|
|
3387
3513
|
requestState.requestedTextRangeGeometry = false;
|
|
3388
3514
|
}
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3515
|
+
// Text-range rectangles are viewport-relative snapshots. After the user
|
|
3516
|
+
// scrolls, a rectangle left over from the previous selection can still
|
|
3517
|
+
// have the right key while pointing at the old viewport position. Refresh
|
|
3518
|
+
// it for every explicit request, including a click on the already-selected
|
|
3519
|
+
// comment, before deciding whether the range is visible.
|
|
3520
|
+
if (isTextRangeScrollTarget(scrollTarget) &&
|
|
3393
3521
|
!requestState.requestedTextRangeGeometry) {
|
|
3394
3522
|
requestState.requestedTextRangeGeometry = true;
|
|
3395
3523
|
if (requestScrollTargetGeometry(activePageViewContext, scrollTarget)) {
|
|
3396
3524
|
return;
|
|
3397
3525
|
}
|
|
3398
3526
|
}
|
|
3527
|
+
const exactBounds = findScrollIntoViewDocumentBounds(activePageViewContext.bridgeGeometry, scrollTarget, { includeTextRangeFallback: false });
|
|
3528
|
+
let bounds = exactBounds;
|
|
3399
3529
|
bounds ??= findScrollIntoViewDocumentBounds(activePageViewContext.bridgeGeometry, scrollTarget, { includeTextRangeFallback: true });
|
|
3400
3530
|
if (bounds) {
|
|
3401
3531
|
scrollBridgeBoundsIntoView(activePageViewContext, bounds, latestBridgeScrollRef.current);
|
|
@@ -3587,6 +3717,48 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
3587
3717
|
editContext.showMinimap &&
|
|
3588
3718
|
!editContext.isMobile &&
|
|
3589
3719
|
editContext.parheliaSettings?.showMinimap !== false;
|
|
3720
|
+
// Compare view: both panes render their page iframe at one shared width so
|
|
3721
|
+
// the two versions reflow identically (see compareFrameWidth.ts). This pane
|
|
3722
|
+
// reports the width its iframe could take — the container's content box
|
|
3723
|
+
// minus the minimap column when that is showing — and renders at the
|
|
3724
|
+
// narrower of both panes' reports.
|
|
3725
|
+
const frameContainerRef = useRef(null);
|
|
3726
|
+
const inCompareMode = !!slotContext?.compareMode;
|
|
3727
|
+
const compareFrameView = compareView
|
|
3728
|
+
? "compare"
|
|
3729
|
+
: "primary";
|
|
3730
|
+
const miniMapColumnWidth = editContext.configuration.outline.width || 100;
|
|
3731
|
+
const reportCompareFrameWidth = slotContext?.reportCompareFrameWidth;
|
|
3732
|
+
const miniMapReservedWidth = shouldRenderMiniMap ? miniMapColumnWidth : 0;
|
|
3733
|
+
useLayoutEffect(() => {
|
|
3734
|
+
if (!inCompareMode || !reportCompareFrameWidth)
|
|
3735
|
+
return;
|
|
3736
|
+
const container = frameContainerRef.current;
|
|
3737
|
+
if (!container || typeof ResizeObserver === "undefined")
|
|
3738
|
+
return;
|
|
3739
|
+
const report = () => {
|
|
3740
|
+
const style = window.getComputedStyle(container);
|
|
3741
|
+
const padding = (parseFloat(style.paddingLeft) || 0) +
|
|
3742
|
+
(parseFloat(style.paddingRight) || 0);
|
|
3743
|
+
const available = container.clientWidth - padding - miniMapReservedWidth;
|
|
3744
|
+
reportCompareFrameWidth(compareFrameView, available > 0 ? available : undefined);
|
|
3745
|
+
};
|
|
3746
|
+
report();
|
|
3747
|
+
const observer = new ResizeObserver(report);
|
|
3748
|
+
observer.observe(container);
|
|
3749
|
+
return () => observer.disconnect();
|
|
3750
|
+
}, [
|
|
3751
|
+
inCompareMode,
|
|
3752
|
+
reportCompareFrameWidth,
|
|
3753
|
+
compareFrameView,
|
|
3754
|
+
miniMapReservedWidth,
|
|
3755
|
+
]);
|
|
3756
|
+
// Withdraw this pane's report only on unmount, so a minimap toggle or a
|
|
3757
|
+
// resize does not briefly drop the other pane back to full width.
|
|
3758
|
+
useEffect(() => {
|
|
3759
|
+
return () => reportCompareFrameWidth?.(compareFrameView, undefined);
|
|
3760
|
+
}, [reportCompareFrameWidth, compareFrameView]);
|
|
3761
|
+
const sharedCompareFrameWidth = useSyncExternalStore(slotContext?.subscribeCompareFrameWidth ?? subscribeToNothing, slotContext?.getCompareFrameWidth ?? getUndefined, getUndefined);
|
|
3590
3762
|
if (pageViewContext.page?.item && !pageViewContext.page?.item.hasLayout) {
|
|
3591
3763
|
return _jsx(NoLayout, {});
|
|
3592
3764
|
}
|
|
@@ -3595,13 +3767,18 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
|
|
|
3595
3767
|
const deviceHeight = pageViewContext.device === "desktop" || !pageViewContext.deviceHeight
|
|
3596
3768
|
? "100%"
|
|
3597
3769
|
: pageViewContext.deviceHeight || 640;
|
|
3770
|
+
const compareFrameWidth = inCompareMode ? sharedCompareFrameWidth : undefined;
|
|
3598
3771
|
const deviceWidth = isResponsiveDevice
|
|
3599
|
-
?
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3772
|
+
? compareFrameWidth !== undefined
|
|
3773
|
+
? compareFrameWidth + miniMapReservedWidth + "px"
|
|
3774
|
+
: "100%"
|
|
3775
|
+
: inCompareMode
|
|
3776
|
+
? (pageViewContext.deviceWidth || 640) + miniMapReservedWidth + "px"
|
|
3777
|
+
: (pageViewContext.deviceWidth || 640) +
|
|
3778
|
+
editContext.configuration.outline.width +
|
|
3779
|
+
"px";
|
|
3603
3780
|
const showSuggestionsCursor = !isBridgeInlineEditing && editContext.mode === "suggestions";
|
|
3604
|
-
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 grid h-11 w-full shrink-0 grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center border-b bg-white px-3 shadow-sm", "data-testid": "fullscreen-page-title-bar", children: [_jsx("div", { className: "w-full min-w-0 pr-3 text-left", children: _jsx(PageSelector, { itemDescriptor: pageViewContext.page?.item, variant: "fullscreen" }) }), _jsx("div", { className: "justify-self-center", children: _jsx(FullscreenControls, { device: pageViewContext.device, setDevice: (device) => pageViewContext.setDevice(device), zoom: pageViewContext.zoom, setZoom: pageViewContext.setZoom, canExit: !editContext.configuration.forceFullscreen, onExit: () => editContext.setFullscreen(false) }) }), _jsx("div", { "aria-hidden": "true" })] })), 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: {
|
|
3781
|
+
return (_jsxs("div", { ref: frameContainerRef, 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 grid h-11 w-full shrink-0 grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center border-b bg-white px-3 shadow-sm", "data-testid": "fullscreen-page-title-bar", children: [_jsx("div", { className: "w-full min-w-0 pr-3 text-left", children: _jsx(PageSelector, { itemDescriptor: pageViewContext.page?.item, variant: "fullscreen" }) }), _jsx("div", { className: "justify-self-center", children: _jsx(FullscreenControls, { device: pageViewContext.device, setDevice: (device) => pageViewContext.setDevice(device), zoom: pageViewContext.zoom, setZoom: pageViewContext.setZoom, canExit: !editContext.configuration.forceFullscreen, onExit: () => editContext.setFullscreen(false) }) }), _jsx("div", { "aria-hidden": "true" })] })), 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: {
|
|
3605
3782
|
width: deviceWidth,
|
|
3606
3783
|
}, children: [_jsxs("div", { className: "relative h-full w-full overflow-visible", onMouseLeave: () => {
|
|
3607
3784
|
if (pageViewContext.bridgeInteraction?.kind === "hover") {
|