@parhelia/core 0.1.12882 → 0.1.12883
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents-view/AgentsSidebar.js +1 -1
- package/dist/agents-view/AgentsSidebar.js.map +1 -1
- package/dist/agents-view/AgentsTitlebar.d.ts +1 -1
- package/dist/agents-view/AgentsTitlebar.js +3 -6
- package/dist/agents-view/AgentsTitlebar.js.map +1 -1
- package/dist/agents-view/AgentsView.d.ts +2 -2
- package/dist/agents-view/AgentsView.js +2 -2
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +1 -12
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/CreateAgentView.d.ts +1 -1
- package/dist/agents-view/CreateAgentView.js +1 -1
- package/dist/agents-view/DateAgentsGroup.js +12 -1
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.js +16 -4
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/components/ui/card.d.ts +3 -1
- package/dist/components/ui/card.js +2 -2
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/context-menu.d.ts +2 -1
- package/dist/components/ui/context-menu.js +6 -3
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/input.js +2 -2
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/textarea.js +2 -2
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/config/config.js +91 -12
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ContextMenu.d.ts +1 -0
- package/dist/editor/ContextMenu.js +4 -4
- package/dist/editor/ContextMenu.js.map +1 -1
- package/dist/editor/FieldActionsOverlay.d.ts +0 -1
- package/dist/editor/FieldActionsOverlay.js +1 -45
- package/dist/editor/FieldActionsOverlay.js.map +1 -1
- package/dist/editor/FieldHistory.d.ts +2 -1
- package/dist/editor/FieldHistory.js +13 -12
- package/dist/editor/FieldHistory.js.map +1 -1
- package/dist/editor/FieldListField.d.ts +1 -1
- package/dist/editor/FieldListField.js +24 -36
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/ImageEditor.d.ts +6 -1
- package/dist/editor/ImageEditor.js +19 -3
- package/dist/editor/ImageEditor.js.map +1 -1
- package/dist/editor/LinkEditorDialog.d.ts +9 -2
- package/dist/editor/LinkEditorDialog.js +174 -70
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +49 -6
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/MobileLayout.js +33 -1
- package/dist/editor/MobileLayout.js.map +1 -1
- package/dist/editor/PictureCropper.js +45 -28
- package/dist/editor/PictureCropper.js.map +1 -1
- package/dist/editor/PictureEditor.d.ts +2 -1
- package/dist/editor/PictureEditor.js +5 -14
- package/dist/editor/PictureEditor.js.map +1 -1
- package/dist/editor/ai/AgentProfileSelector.js +7 -7
- package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
- package/dist/editor/ai/Agents.js +20 -6
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/GuidanceOverlay.js +1 -11
- package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.d.ts +1 -0
- package/dist/editor/ai/InlineAiDialog.js +254 -202
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/InlineAiTextEditTooltip.d.ts +8 -0
- package/dist/editor/ai/InlineAiTextEditTooltip.js +10 -0
- package/dist/editor/ai/InlineAiTextEditTooltip.js.map +1 -0
- package/dist/editor/ai/InlineAiTrigger.js +158 -31
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/dialogs/capturePageDom.js +66 -36
- package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -1
- package/dist/editor/ai/dialogs/capturePageScreenshot.js +281 -162
- package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -1
- package/dist/editor/ai/inlineAiTextEditLabels.d.ts +2 -0
- package/dist/editor/ai/inlineAiTextEditLabels.js +8 -0
- package/dist/editor/ai/inlineAiTextEditLabels.js.map +1 -0
- package/dist/editor/ai/prepareInlineAiTextSelection.d.ts +5 -0
- package/dist/editor/ai/prepareInlineAiTextSelection.js +86 -0
- package/dist/editor/ai/prepareInlineAiTextSelection.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionState.d.ts +3 -0
- package/dist/editor/ai/terminal/agentSessionState.js +3 -1
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
- package/dist/editor/ai/terminal/agentStartRequest.d.ts +2 -1
- package/dist/editor/ai/terminal/agentStartRequest.js +2 -1
- package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentDocumentList.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +55 -13
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +12 -0
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +22 -14
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentModeSelector.js +4 -4
- package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +4 -4
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +8 -11
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -4
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +31 -14
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -4
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +13 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +11 -9
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +22 -2
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +37 -26
- package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +3 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.d.ts +2 -1
- package/dist/editor/ai/terminal/components/UserMessage.js +144 -8
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js +1 -1
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +3 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +9 -3
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +7 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalUiState.js +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalUiState.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/useActiveAgentConversation.d.ts +3 -0
- package/dist/editor/ai/useActiveAgentConversation.js +32 -0
- package/dist/editor/ai/useActiveAgentConversation.js.map +1 -0
- package/dist/editor/ai/useInlineAiPosition.d.ts +10 -2
- package/dist/editor/ai/useInlineAiPosition.js +32 -71
- package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageResultOverlay.js +30 -62
- package/dist/editor/ai-image-editor/AiImageResultOverlay.js.map +1 -1
- package/dist/editor/bridge/BridgeClient.d.ts +80 -0
- package/dist/editor/bridge/BridgeClient.js +417 -0
- package/dist/editor/bridge/BridgeClient.js.map +1 -0
- package/dist/editor/client/EditorShell.d.ts +5 -1
- package/dist/editor/client/EditorShell.js +295 -127
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +58 -5
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/fieldModificationStore.d.ts +1 -0
- package/dist/editor/client/fieldModificationStore.js +7 -2
- package/dist/editor/client/fieldModificationStore.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js +14 -17
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/itemsRepository.d.ts +2 -0
- package/dist/editor/client/itemsRepository.js +18 -9
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/operations.d.ts +1 -1
- package/dist/editor/client/operations.js +67 -21
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.js +24 -7
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +1 -1
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/commands/componentCommands.d.ts +3 -1
- package/dist/editor/commands/componentCommands.js +8 -3
- package/dist/editor/commands/componentCommands.js.map +1 -1
- package/dist/editor/field-types/DateFieldEditor.js +1 -1
- package/dist/editor/field-types/DateFieldEditor.js.map +1 -1
- package/dist/editor/field-types/DateTimeFieldEditor.js +1 -1
- package/dist/editor/field-types/DateTimeFieldEditor.js.map +1 -1
- package/dist/editor/field-types/DropLinkEditor.js +1 -1
- package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
- package/dist/editor/field-types/DropListEditor.js +1 -1
- package/dist/editor/field-types/DropListEditor.js.map +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
- package/dist/editor/field-types/InternalLinkFieldEditor.js +1 -1
- package/dist/editor/field-types/InternalLinkFieldEditor.js.map +1 -1
- package/dist/editor/field-types/LinkFieldEditor.js +15 -3
- package/dist/editor/field-types/LinkFieldEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +11 -4
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/NameValueListEditor.js +1 -1
- package/dist/editor/field-types/NameValueListEditor.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +2 -2
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RawEditor.js +9 -2
- package/dist/editor/field-types/RawEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +170 -77
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +10 -3
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/TreeListEditor.js +1 -1
- package/dist/editor/field-types/TreeListEditor.js.map +1 -1
- package/dist/editor/field-types/richtext/bridgeRichTextProfile.d.ts +21 -0
- package/dist/editor/field-types/richtext/bridgeRichTextProfile.js +96 -0
- package/dist/editor/field-types/richtext/bridgeRichTextProfile.js.map +1 -0
- package/dist/editor/field-types/richtext/components/ReactSlate.css +44 -6
- package/dist/editor/field-types/richtext/components/ReactSlate.js +191 -36
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.css +5 -2
- package/dist/editor/field-types/richtext/components/SimpleToolbar.js +5 -4
- package/dist/editor/field-types/richtext/components/SimpleToolbar.js.map +1 -1
- package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +2 -15
- package/dist/editor/field-types/richtext/contextMenuFactory.js +4 -435
- package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
- package/dist/editor/field-types/richtext/richTextToolbarIcons.d.ts +7 -0
- package/dist/editor/field-types/richtext/richTextToolbarIcons.js +49 -0
- package/dist/editor/field-types/richtext/richTextToolbarIcons.js.map +1 -0
- package/dist/editor/field-types/richtext/types.d.ts +2 -0
- package/dist/editor/field-types/richtext/types.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/conversion.js +23 -2
- package/dist/editor/field-types/richtext/utils/conversion.js.map +1 -1
- package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +13 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js +92 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -0
- package/dist/editor/fieldTypes.d.ts +2 -0
- package/dist/editor/media-selector/TreeSelector.js +15 -15
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/menubar/PageSelector.js +8 -2
- package/dist/editor/menubar/PageSelector.js.map +1 -1
- package/dist/editor/menubar/VersionPreviewCard.js +4 -249
- package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.js +2 -2
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +310 -187
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js +3 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +8 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +407 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/CommentHighlightings.d.ts +5 -2
- package/dist/editor/page-editor-chrome/CommentHighlightings.js +340 -215
- package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +5 -1
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +11 -4
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js +21 -13
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js +23 -29
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.js +110 -19
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.d.ts +3 -2
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +148 -45
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +2 -0
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +25 -21
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +163 -128
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +6 -3
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +1 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +83 -146
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.d.ts +5 -2
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +144 -63
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -2
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +101 -30
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.d.ts +24 -0
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +89 -0
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +10 -1
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +105 -122
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +11 -4
- package/dist/editor/page-editor-chrome/overlay/geometry.js +139 -36
- package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +26 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +228 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -0
- package/dist/editor/page-viewer/EditorForm.js +17 -1
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +2 -2
- package/dist/editor/page-viewer/MiniMap.js +176 -364
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.js +63 -17
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.d.ts +0 -5
- package/dist/editor/page-viewer/PageViewerFrame.js +1685 -1512
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +20 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js +33 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -0
- package/dist/editor/page-viewer/pageViewContext.d.ts +32 -0
- package/dist/editor/page-viewer/pageViewContext.js +37 -6
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/reviews/Comment.d.ts +2 -1
- package/dist/editor/reviews/Comment.js +10 -5
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +2 -1
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.d.ts +1 -0
- package/dist/editor/reviews/CommentEditor.js +3 -2
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentPopover.js +69 -10
- package/dist/editor/reviews/CommentPopover.js.map +1 -1
- package/dist/editor/reviews/CommentView.js +24 -4
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/Comments.d.ts +0 -2
- package/dist/editor/reviews/Comments.js +31 -31
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/FeedbackCard.d.ts +4 -2
- package/dist/editor/reviews/FeedbackCard.js +8 -10
- package/dist/editor/reviews/FeedbackCard.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +4 -6
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionCommentThread.js +3 -3
- package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -2
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/commentAi.js +96 -27
- package/dist/editor/reviews/commentAi.js.map +1 -1
- package/dist/editor/reviews/commentTransientSelection.d.ts +23 -0
- package/dist/editor/reviews/commentTransientSelection.js +7 -0
- package/dist/editor/reviews/commentTransientSelection.js.map +1 -0
- package/dist/editor/reviews/feedbackOrdering.d.ts +5 -0
- package/dist/editor/reviews/feedbackOrdering.js +27 -0
- package/dist/editor/reviews/feedbackOrdering.js.map +1 -0
- package/dist/editor/reviews/feedbackSelection.js +32 -4
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/suggestedEditState.d.ts +12 -0
- package/dist/editor/reviews/suggestedEditState.js +90 -0
- package/dist/editor/reviews/suggestedEditState.js.map +1 -0
- package/dist/editor/reviews/suggestionDisplayValue.d.ts +43 -0
- package/dist/editor/reviews/suggestionDisplayValue.js +93 -0
- package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -0
- package/dist/editor/services/agentService.d.ts +15 -0
- package/dist/editor/services/agentService.js +11 -1
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/reviewsService.d.ts +2 -2
- package/dist/editor/services/reviewsService.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +2 -2
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProvidersPanel.js +2 -3
- package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
- package/dist/editor/sidebar/MorePanelsButton.js +1 -1
- package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
- package/dist/editor/sidebar/Validation.js +4 -1
- package/dist/editor/sidebar/Validation.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +1 -1
- package/dist/editor/sidebar/Workbox.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/IconSelectorDialog.js +1 -1
- package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
- package/dist/editor/ui/SimpleIconButton.d.ts +2 -2
- package/dist/editor/ui/SimpleIconButton.js +7 -1
- package/dist/editor/ui/SimpleIconButton.js.map +1 -1
- package/dist/editor/ui/Splitter.d.ts +1 -0
- package/dist/editor/ui/Splitter.js +12 -2
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/animationSettle.d.ts +32 -0
- package/dist/editor/ui/animationSettle.js +85 -0
- package/dist/editor/ui/animationSettle.js.map +1 -0
- package/dist/editor/utils/expandSelectionAtCaret.d.ts +15 -0
- package/dist/editor/utils/expandSelectionAtCaret.js +183 -0
- package/dist/editor/utils/expandSelectionAtCaret.js.map +1 -0
- package/dist/editor/utils.d.ts +1 -17
- package/dist/editor/utils.js +0 -143
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +3 -8
- package/dist/editor/version-diff/versionDiffTargets.js +37 -94
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +11 -3
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/NewPage.js +7 -5
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/splash-screen/OpenPage.js +5 -3
- package/dist/splash-screen/OpenPage.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +3 -3
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +2 -1
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.d.ts +42 -1
- package/dist/task-board/views/DependencyGraphView.js +94 -0
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +2 -1
- package/styles.css +96 -0
- package/dist/editor/page-editor-chrome/InlineEditor.d.ts +0 -7
- package/dist/editor/page-editor-chrome/InlineEditor.js +0 -1719
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +0 -1
- package/dist/editor/page-editor-chrome/overlay/iframeAccess.d.ts +0 -2
- package/dist/editor/page-editor-chrome/overlay/iframeAccess.js +0 -21
- package/dist/editor/page-editor-chrome/overlay/iframeAccess.js.map +0 -1
- package/dist/editor/page-editor-chrome/useInlineAICompletion.d.ts +0 -7
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js +0 -758
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +0 -1
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.d.ts +0 -3
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +0 -796
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +0 -1
|
@@ -5,10 +5,9 @@ import { useSlotContext } from "../views/editorSlotContext";
|
|
|
5
5
|
import { getVisibleInsertOptions } from "../insertMenuItems";
|
|
6
6
|
import { getAllPlaceholders } from "../componentTreeHelper";
|
|
7
7
|
import { PlaceholderDropZone } from "./PlaceholderDropZone";
|
|
8
|
-
import {
|
|
8
|
+
import { measureBridgeComponentRect, measureBridgePlaceholderRect, rectEquals, } from "./overlay/geometry";
|
|
9
9
|
import { useOverlayMeasurement } from "./overlay/useOverlayMeasurement";
|
|
10
|
-
|
|
11
|
-
export function PlaceholderDropZones({ iframe, size, pageViewContext, }) {
|
|
10
|
+
export function PlaceholderDropZones({ size, pageViewContext, }) {
|
|
12
11
|
const [placeholders, setPlaceholders] = useState([]);
|
|
13
12
|
const editContext = useEditContext();
|
|
14
13
|
const slotContext = useSlotContext();
|
|
@@ -20,7 +19,6 @@ export function PlaceholderDropZones({ iframe, size, pageViewContext, }) {
|
|
|
20
19
|
const zones = useOverlayMeasurement((metrics) => {
|
|
21
20
|
if (!slotContext?.isActive ||
|
|
22
21
|
!pageViewContext ||
|
|
23
|
-
!iframe ||
|
|
24
22
|
(!editContext?.dragObject &&
|
|
25
23
|
!editContext?.selectedForInsertion &&
|
|
26
24
|
!editContext?.insertMode)) {
|
|
@@ -49,102 +47,12 @@ export function PlaceholderDropZones({ iframe, size, pageViewContext, }) {
|
|
|
49
47
|
const measuredZones = [];
|
|
50
48
|
const scrollHeight = metrics.scrollHeight * metrics.visualScale;
|
|
51
49
|
const scrollWidth = metrics.scrollWidth * metrics.visualScale;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
let placeholderElement = iframeBody.querySelector("[data-placeholder-start='" + placeholder.key + "']");
|
|
57
|
-
let isUsingParentBounds = false;
|
|
58
|
-
if (!placeholderElement && placeholder.components.length > 0) {
|
|
59
|
-
const firstComponent = placeholder.components[0];
|
|
60
|
-
placeholderElement =
|
|
61
|
-
getNextNonChromeMarkerElement(findElementByNormalizedDataAttribute(iframeBody, "data-component-start", firstComponent?.id)) ||
|
|
62
|
-
firstComponent?.firstDOMElement ||
|
|
63
|
-
null;
|
|
64
|
-
}
|
|
65
|
-
if (!placeholderElement && placeholder.parentComponent) {
|
|
66
|
-
placeholderElement =
|
|
67
|
-
getNextNonChromeMarkerElement(findElementByNormalizedDataAttribute(iframeBody, "data-component-start", placeholder.parentComponent.id)) ||
|
|
68
|
-
placeholder.parentComponent.firstDOMElement ||
|
|
69
|
-
null;
|
|
70
|
-
isUsingParentBounds = true;
|
|
71
|
-
}
|
|
72
|
-
if (!placeholderElement)
|
|
73
|
-
return;
|
|
74
|
-
let position;
|
|
75
|
-
let anchor = "top";
|
|
76
|
-
let index = 0;
|
|
77
|
-
const description = placeholderElement.getAttribute("data-description");
|
|
78
|
-
let referenceElement;
|
|
79
|
-
let orientation = null;
|
|
80
|
-
if (isUsingParentBounds) {
|
|
81
|
-
const rect = measureElementRect(placeholderElement, metrics);
|
|
82
|
-
if (!rect)
|
|
83
|
-
return;
|
|
84
|
-
position = {
|
|
85
|
-
x: rect.x + rect.width / 2,
|
|
86
|
-
y: rect.y + rect.height / 2,
|
|
87
|
-
};
|
|
88
|
-
anchor = "top";
|
|
89
|
-
referenceElement = placeholderElement;
|
|
90
|
-
orientation = "vertical";
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
const prev = getPreviousElement(placeholderElement);
|
|
94
|
-
const nextOrParent = getNextElement(placeholderElement) ||
|
|
95
|
-
placeholderElement.parentElement;
|
|
96
|
-
if (!nextOrParent && !prev)
|
|
97
|
-
return;
|
|
98
|
-
orientation = placeholderElement?.getAttribute("data-orientation");
|
|
99
|
-
if (!orientation) {
|
|
100
|
-
orientation = detectOrientation(placeholderElement, placeholder.components);
|
|
101
|
-
}
|
|
102
|
-
const rect = measureElementRect((prev ?? nextOrParent), metrics);
|
|
103
|
-
if (!rect)
|
|
104
|
-
return;
|
|
105
|
-
position =
|
|
106
|
-
orientation === "horizontal"
|
|
107
|
-
? {
|
|
108
|
-
x: prev ? rect.x + rect.width : rect.x,
|
|
109
|
-
y: rect.y + rect.height / 2,
|
|
110
|
-
}
|
|
111
|
-
: {
|
|
112
|
-
x: rect.x + rect.width / 2,
|
|
113
|
-
y: prev ? rect.y + rect.height : rect.y,
|
|
114
|
-
};
|
|
115
|
-
if (prev && orientation === "horizontal")
|
|
116
|
-
anchor = "right";
|
|
117
|
-
if (prev && orientation !== "horizontal")
|
|
118
|
-
anchor = "bottom";
|
|
119
|
-
if (!prev && orientation === "horizontal")
|
|
120
|
-
anchor = "left";
|
|
121
|
-
if (!prev && orientation !== "horizontal")
|
|
122
|
-
anchor = "top";
|
|
123
|
-
referenceElement = prev ?? nextOrParent;
|
|
124
|
-
}
|
|
125
|
-
measuredZones.push({
|
|
126
|
-
placeholder,
|
|
127
|
-
position,
|
|
128
|
-
index,
|
|
129
|
-
element: referenceElement,
|
|
130
|
-
anchor,
|
|
131
|
-
description,
|
|
132
|
-
});
|
|
133
|
-
placeholder.components.forEach((component) => {
|
|
134
|
-
const componentRect = measureComponentRect(iframe, component, metrics);
|
|
135
|
-
if (!componentRect)
|
|
136
|
-
return;
|
|
137
|
-
const position = getPositionFromRect(componentRect.rect, orientation);
|
|
138
|
-
index++;
|
|
139
|
-
measuredZones.push({
|
|
140
|
-
placeholder,
|
|
141
|
-
position,
|
|
142
|
-
index,
|
|
143
|
-
anchor: orientation === "horizontal" ? "right" : "bottom",
|
|
144
|
-
element: componentRect.elements[componentRect.elements.length - 1],
|
|
145
|
-
});
|
|
50
|
+
const bridgeGeometry = pageViewContext.bridgeGeometry;
|
|
51
|
+
if (bridgeGeometry) {
|
|
52
|
+
matchingPlaceholders.forEach((placeholder) => {
|
|
53
|
+
measuredZones.push(...measureBridgePlaceholderZones(placeholder, bridgeGeometry, metrics));
|
|
146
54
|
});
|
|
147
|
-
}
|
|
55
|
+
}
|
|
148
56
|
const zonesWithoutBeforeFirstLayout = measuredZones.filter((z) => {
|
|
149
57
|
const components = z.placeholder.components;
|
|
150
58
|
const firstLayoutIndex = components.findIndex((c) => !!c.layoutId);
|
|
@@ -165,17 +73,19 @@ export function PlaceholderDropZones({ iframe, size, pageViewContext, }) {
|
|
|
165
73
|
return true;
|
|
166
74
|
})
|
|
167
75
|
: zonesWithoutBeforeFirstLayout;
|
|
76
|
+
const contentWidth = measuredZones.reduce((max, zone) => Math.max(max, zone.position.x + 20), scrollWidth);
|
|
77
|
+
const contentHeight = measuredZones.reduce((max, zone) => Math.max(max, zone.position.y + 20), scrollHeight);
|
|
168
78
|
const usedPositions = new Map();
|
|
169
79
|
const DROPZONE_SIZE = 32;
|
|
170
80
|
const OVERLAP_THRESHOLD = DROPZONE_SIZE;
|
|
171
81
|
return filteredZones.map((zone) => {
|
|
172
|
-
let x = Math.min(
|
|
173
|
-
let y = Math.min(
|
|
82
|
+
let x = Math.min(contentWidth - 20, Math.max(20, zone.position.x));
|
|
83
|
+
let y = Math.min(contentHeight - 20, Math.max(20, zone.position.y));
|
|
174
84
|
const posKey = `${Math.round(x / OVERLAP_THRESHOLD)}_${Math.round(y / OVERLAP_THRESHOLD)}`;
|
|
175
85
|
const overlapCount = usedPositions.get(posKey) || 0;
|
|
176
86
|
if (overlapCount > 0) {
|
|
177
87
|
x = x + overlapCount * (DROPZONE_SIZE + 8);
|
|
178
|
-
if (x >
|
|
88
|
+
if (x > contentWidth - 20) {
|
|
179
89
|
x = 20 + ((overlapCount - 1) % 5) * (DROPZONE_SIZE + 8);
|
|
180
90
|
y = y + Math.floor((overlapCount - 1) / 5) * (DROPZONE_SIZE + 8);
|
|
181
91
|
}
|
|
@@ -189,7 +99,7 @@ export function PlaceholderDropZones({ iframe, size, pageViewContext, }) {
|
|
|
189
99
|
}, [
|
|
190
100
|
slotContext?.isActive,
|
|
191
101
|
pageViewContext,
|
|
192
|
-
|
|
102
|
+
pageViewContext?.bridgeGeometry,
|
|
193
103
|
editContext?.dragObject,
|
|
194
104
|
editContext?.selectedForInsertion,
|
|
195
105
|
editContext?.insertMode,
|
|
@@ -226,7 +136,7 @@ function placeholderZonesEqual(previous, next) {
|
|
|
226
136
|
const nextZone = next[i];
|
|
227
137
|
if (previousZone.placeholder.key !== nextZone.placeholder.key ||
|
|
228
138
|
previousZone.index !== nextZone.index ||
|
|
229
|
-
previousZone.element !== nextZone.element ||
|
|
139
|
+
(previousZone.element ?? null) !== (nextZone.element ?? null) ||
|
|
230
140
|
previousZone.anchor !== nextZone.anchor ||
|
|
231
141
|
previousZone.description !== nextZone.description ||
|
|
232
142
|
!rectEquals({ ...previousZone.position, width: 0, height: 0 }, { ...nextZone.position, width: 0, height: 0 })) {
|
|
@@ -235,12 +145,6 @@ function placeholderZonesEqual(previous, next) {
|
|
|
235
145
|
}
|
|
236
146
|
return true;
|
|
237
147
|
}
|
|
238
|
-
function getPreviousElement(element) {
|
|
239
|
-
return getPreviousNonChromeMarkerElement(element);
|
|
240
|
-
}
|
|
241
|
-
function getNextElement(element) {
|
|
242
|
-
return getNextNonChromeMarkerElement(element);
|
|
243
|
-
}
|
|
244
148
|
function getPositionFromRect(rect, orientation) {
|
|
245
149
|
const position = orientation === "horizontal"
|
|
246
150
|
? {
|
|
@@ -253,46 +157,79 @@ function getPositionFromRect(rect, orientation) {
|
|
|
253
157
|
};
|
|
254
158
|
return position;
|
|
255
159
|
}
|
|
256
|
-
function
|
|
257
|
-
|
|
258
|
-
const
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
160
|
+
function measureBridgePlaceholderZones(placeholder, geometry, metrics) {
|
|
161
|
+
const zones = [];
|
|
162
|
+
const placeholderMeasurement = measureBridgePlaceholderRect(geometry, placeholder.key, metrics);
|
|
163
|
+
const orientation = getBridgePlaceholderOrientation(placeholder, geometry, metrics, placeholderMeasurement?.target.orientation);
|
|
164
|
+
const firstComponent = placeholder.components[0];
|
|
165
|
+
const firstComponentMeasurement = firstComponent
|
|
166
|
+
? measureBridgeComponentRect(geometry, firstComponent, metrics)
|
|
167
|
+
: null;
|
|
168
|
+
const parentMeasurement = placeholder.parentComponent
|
|
169
|
+
? measureBridgeComponentRect(geometry, placeholder.parentComponent, metrics)
|
|
170
|
+
: null;
|
|
171
|
+
const referenceRect = placeholderMeasurement?.rect ??
|
|
172
|
+
firstComponentMeasurement?.rect ??
|
|
173
|
+
parentMeasurement?.rect;
|
|
174
|
+
if (!referenceRect)
|
|
175
|
+
return zones;
|
|
176
|
+
const isUsingParentBounds = !placeholderMeasurement?.rect &&
|
|
177
|
+
!firstComponentMeasurement?.rect &&
|
|
178
|
+
!!parentMeasurement?.rect;
|
|
179
|
+
const position = isUsingParentBounds || placeholder.components.length === 0
|
|
180
|
+
? {
|
|
181
|
+
x: referenceRect.x + referenceRect.width / 2,
|
|
182
|
+
y: referenceRect.y + referenceRect.height / 2,
|
|
271
183
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
184
|
+
: getBeforePositionFromRect(referenceRect, orientation);
|
|
185
|
+
zones.push({
|
|
186
|
+
placeholder,
|
|
187
|
+
position,
|
|
188
|
+
index: 0,
|
|
189
|
+
element: null,
|
|
190
|
+
anchor: isUsingParentBounds || orientation !== "horizontal" ? "top" : "left",
|
|
191
|
+
description: placeholderMeasurement?.target.description,
|
|
192
|
+
});
|
|
193
|
+
placeholder.components.forEach((component, index) => {
|
|
194
|
+
const componentMeasurement = measureBridgeComponentRect(geometry, component, metrics);
|
|
195
|
+
if (!componentMeasurement?.rect)
|
|
196
|
+
return;
|
|
197
|
+
zones.push({
|
|
198
|
+
placeholder,
|
|
199
|
+
position: getPositionFromRect(componentMeasurement.rect, orientation),
|
|
200
|
+
index: index + 1,
|
|
201
|
+
element: null,
|
|
202
|
+
anchor: orientation === "horizontal" ? "right" : "bottom",
|
|
203
|
+
description: placeholderMeasurement?.target.description,
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
return zones;
|
|
207
|
+
}
|
|
208
|
+
function getBeforePositionFromRect(rect, orientation) {
|
|
209
|
+
return orientation === "horizontal"
|
|
210
|
+
? {
|
|
211
|
+
x: rect.x,
|
|
212
|
+
y: rect.y + rect.height / 2,
|
|
281
213
|
}
|
|
214
|
+
: {
|
|
215
|
+
x: rect.x + rect.width / 2,
|
|
216
|
+
y: rect.y,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
function getBridgePlaceholderOrientation(placeholder, geometry, metrics, explicitOrientation) {
|
|
220
|
+
if (explicitOrientation === "horizontal" ||
|
|
221
|
+
explicitOrientation === "vertical") {
|
|
222
|
+
return explicitOrientation;
|
|
282
223
|
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
const verticalDiff = Math.abs(nextRect.y - prevRect.y);
|
|
292
|
-
// If horizontal difference is greater, it's likely a horizontal layout
|
|
293
|
-
return horizontalDiff > verticalDiff ? "horizontal" : "vertical";
|
|
224
|
+
if (placeholder.components.length > 1) {
|
|
225
|
+
const first = measureBridgeComponentRect(geometry, placeholder.components[0], metrics);
|
|
226
|
+
const second = measureBridgeComponentRect(geometry, placeholder.components[1], metrics);
|
|
227
|
+
if (first?.rect && second?.rect) {
|
|
228
|
+
const horizontalDiff = Math.abs(second.rect.x - first.rect.x);
|
|
229
|
+
const verticalDiff = Math.abs(second.rect.y - first.rect.y);
|
|
230
|
+
return horizontalDiff > verticalDiff ? "horizontal" : "vertical";
|
|
231
|
+
}
|
|
294
232
|
}
|
|
295
|
-
// Default to vertical if we can't determine
|
|
296
233
|
return "vertical";
|
|
297
234
|
}
|
|
298
235
|
function isInsideLayoutComponent(component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaceholderDropZones.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/PlaceholderDropZones.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlaceholderDropZones.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/PlaceholderDropZones.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { PageViewContext } from "../page-viewer/pageViewContext";
|
|
2
|
+
import { type FeedbackHighlightVariant } from "./FeedbackHighlightBadge";
|
|
3
|
+
export declare function SuggestionHighlightings({ pageViewContext, variant, }: {
|
|
4
|
+
pageViewContext: PageViewContext;
|
|
5
|
+
variant?: FeedbackHighlightVariant;
|
|
3
6
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
3
3
|
import { useEditContext, useFieldsEditContext } from "../client/editContext";
|
|
4
|
-
import { findFieldElement } from "../utils";
|
|
5
4
|
import * as DiffLib from "diff";
|
|
6
5
|
import { SuggestionDisplayPopover } from "../reviews/SuggestionDisplayPopover";
|
|
7
|
-
import {
|
|
8
|
-
import { getAccessibleIframeDocument } from "./overlay/iframeAccess";
|
|
6
|
+
import { measureBridgeTextRangeRects, rectListEquals, } from "./overlay/geometry";
|
|
9
7
|
import { useOverlayMeasurement } from "./overlay/useOverlayMeasurement";
|
|
10
8
|
import { dedupeFeedbackHighlightItems, FeedbackHighlightBadge, FeedbackHighlightBadgeTray, } from "./FeedbackHighlightBadge";
|
|
9
|
+
const SUGGESTION_BRIDGE_SOURCE = "suggestions";
|
|
11
10
|
function suggestionMeasurementsEqual(previous, next) {
|
|
12
11
|
const previousKeys = Object.keys(previous);
|
|
13
12
|
const nextKeys = Object.keys(next);
|
|
@@ -25,9 +24,15 @@ function suggestionMeasurementsEqual(previous, next) {
|
|
|
25
24
|
}
|
|
26
25
|
return true;
|
|
27
26
|
}
|
|
28
|
-
export function SuggestionHighlightings({
|
|
27
|
+
export function SuggestionHighlightings({ pageViewContext, variant = "default", }) {
|
|
29
28
|
const editContext = useEditContext();
|
|
30
29
|
const modifiedFields = useFieldsEditContext();
|
|
30
|
+
const lastMeasurementsRef = useRef({});
|
|
31
|
+
const bridgeTextRangeRequestRef = useRef({
|
|
32
|
+
signature: "",
|
|
33
|
+
requestedSignature: "",
|
|
34
|
+
hasSeenAnyTarget: false,
|
|
35
|
+
});
|
|
31
36
|
const [rangeDataBySuggestionId, setRangeDataBySuggestionId] = useState({});
|
|
32
37
|
const suggestions = useMemo(() => (editContext?.suggestedEdits || []).filter((suggestion) => suggestion.status !== "applied" && suggestion.status !== "rejected"), [editContext?.suggestedEdits]);
|
|
33
38
|
useEffect(() => {
|
|
@@ -99,57 +104,133 @@ export function SuggestionHighlightings({ iframe, }) {
|
|
|
99
104
|
newText: newValue,
|
|
100
105
|
};
|
|
101
106
|
}));
|
|
102
|
-
if (!cancelled)
|
|
107
|
+
if (!cancelled) {
|
|
103
108
|
setRangeDataBySuggestionId(nextRangeData);
|
|
109
|
+
}
|
|
104
110
|
};
|
|
105
111
|
resolveRanges();
|
|
106
112
|
return () => {
|
|
107
113
|
cancelled = true;
|
|
108
114
|
};
|
|
109
115
|
}, [editContext, suggestions]);
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
116
|
+
const bridgeTextRanges = useMemo(() => suggestions.flatMap((suggestion) => {
|
|
117
|
+
if (!suggestion.fieldId)
|
|
118
|
+
return [];
|
|
119
|
+
const rangeData = rangeDataBySuggestionId[suggestion.id];
|
|
120
|
+
if (!rangeData)
|
|
121
|
+
return [];
|
|
122
|
+
const ranges = rangeData.newRanges.length > 0
|
|
123
|
+
? rangeData.newRanges
|
|
124
|
+
: rangeData.oldRanges;
|
|
125
|
+
return ranges.map(([start, end]) => ({
|
|
126
|
+
key: getSuggestionTextRangeKey(suggestion),
|
|
127
|
+
fieldId: suggestion.fieldId,
|
|
128
|
+
item: {
|
|
129
|
+
id: suggestion.itemId,
|
|
130
|
+
language: suggestion.mainItemLanguage,
|
|
131
|
+
version: suggestion.mainItemVersion,
|
|
132
|
+
},
|
|
133
|
+
start,
|
|
134
|
+
end,
|
|
135
|
+
}));
|
|
136
|
+
}), [rangeDataBySuggestionId, suggestions]);
|
|
137
|
+
const bridgeTextRangeSignature = useMemo(() => bridgeTextRanges
|
|
138
|
+
.map((range) => [
|
|
139
|
+
range.key,
|
|
140
|
+
range.fieldId,
|
|
141
|
+
range.item.id,
|
|
142
|
+
range.item.language,
|
|
143
|
+
range.item.version,
|
|
144
|
+
range.start,
|
|
145
|
+
range.end,
|
|
146
|
+
].join(":"))
|
|
147
|
+
.join("|"), [bridgeTextRanges]);
|
|
148
|
+
useEffect(() => {
|
|
149
|
+
const requestState = bridgeTextRangeRequestRef.current;
|
|
150
|
+
if (!pageViewContext.bridgeReady || bridgeTextRanges.length === 0) {
|
|
151
|
+
if (pageViewContext.bridgeReady && requestState.signature !== "") {
|
|
152
|
+
// Drop our contribution from the shared union so the highlights clear
|
|
153
|
+
// instead of lingering as phantom geometry targets.
|
|
154
|
+
pageViewContext.requestBridgeGeometry?.({
|
|
155
|
+
source: SUGGESTION_BRIDGE_SOURCE,
|
|
156
|
+
textRanges: [],
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
requestState.signature = "";
|
|
160
|
+
requestState.requestedSignature = "";
|
|
161
|
+
requestState.hasSeenAnyTarget = false;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const signatureChanged = requestState.signature !== bridgeTextRangeSignature;
|
|
165
|
+
if (signatureChanged) {
|
|
166
|
+
requestState.signature = bridgeTextRangeSignature;
|
|
167
|
+
requestState.requestedSignature = "";
|
|
168
|
+
requestState.hasSeenAnyTarget = false;
|
|
169
|
+
}
|
|
170
|
+
const bridgeGeometry = pageViewContext.bridgeGeometry;
|
|
171
|
+
const hasAnyTarget = hasAnyExpectedBridgeTextRange(bridgeGeometry, bridgeTextRanges);
|
|
172
|
+
const hasAllTargets = hasAllExpectedBridgeTextRanges(bridgeGeometry, bridgeTextRanges);
|
|
173
|
+
if (hasAnyTarget) {
|
|
174
|
+
requestState.hasSeenAnyTarget = true;
|
|
175
|
+
}
|
|
176
|
+
if (hasAllTargets && !signatureChanged) {
|
|
177
|
+
requestState.requestedSignature = "";
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const shouldRequest = signatureChanged ||
|
|
181
|
+
requestState.requestedSignature !== bridgeTextRangeSignature ||
|
|
182
|
+
(requestState.hasSeenAnyTarget && !hasAnyTarget);
|
|
183
|
+
if (!shouldRequest)
|
|
184
|
+
return;
|
|
185
|
+
requestState.requestedSignature = bridgeTextRangeSignature;
|
|
186
|
+
pageViewContext.requestBridgeGeometry?.({
|
|
187
|
+
source: SUGGESTION_BRIDGE_SOURCE,
|
|
188
|
+
textRanges: bridgeTextRanges,
|
|
189
|
+
});
|
|
190
|
+
}, [
|
|
191
|
+
pageViewContext,
|
|
192
|
+
pageViewContext.bridgeReady,
|
|
193
|
+
pageViewContext.bridgeGeometry,
|
|
194
|
+
bridgeTextRanges,
|
|
195
|
+
bridgeTextRangeSignature,
|
|
196
|
+
]);
|
|
197
|
+
const measurements = useOverlayMeasurement((metrics, reasons) => {
|
|
198
|
+
const bridgeGeometry = pageViewContext.bridgeGeometry;
|
|
199
|
+
if (!bridgeGeometry)
|
|
113
200
|
return {};
|
|
201
|
+
const canReusePreviousMeasurement = !reasons.has("viewport") &&
|
|
202
|
+
!reasons.has("layout") &&
|
|
203
|
+
!reasons.has("text");
|
|
114
204
|
const nextMeasurements = {};
|
|
115
205
|
for (const suggestion of suggestions) {
|
|
116
206
|
if (!suggestion.fieldId)
|
|
117
207
|
continue;
|
|
118
|
-
|
|
119
|
-
item: {
|
|
120
|
-
id: suggestion.itemId,
|
|
121
|
-
language: suggestion.mainItemLanguage,
|
|
122
|
-
version: suggestion.mainItemVersion,
|
|
123
|
-
},
|
|
124
|
-
fieldId: suggestion.fieldId,
|
|
125
|
-
});
|
|
126
|
-
if (!fieldElement)
|
|
208
|
+
if (!rangeDataBySuggestionId[suggestion.id])
|
|
127
209
|
continue;
|
|
128
|
-
const
|
|
129
|
-
if (
|
|
210
|
+
const rects = measureBridgeTextRangeRects(bridgeGeometry, getSuggestionTextRangeKey(suggestion), metrics);
|
|
211
|
+
if (rects.length === 0) {
|
|
212
|
+
const previousMeasurement = lastMeasurementsRef.current[suggestion.id];
|
|
213
|
+
if (canReusePreviousMeasurement &&
|
|
214
|
+
previousMeasurement?.isTextRange &&
|
|
215
|
+
previousMeasurement.rects.length) {
|
|
216
|
+
nextMeasurements[suggestion.id] = previousMeasurement;
|
|
217
|
+
}
|
|
130
218
|
continue;
|
|
131
|
-
const ranges = getRangesForRenderedSuggestionText(rangeData, fieldElement.textContent || "");
|
|
132
|
-
const rects = [];
|
|
133
|
-
let isTextRange = false;
|
|
134
|
-
for (const [start, end] of ranges) {
|
|
135
|
-
rects.push(...measureTextRangeRects(iframeDocument, fieldElement, start, end, metrics));
|
|
136
|
-
}
|
|
137
|
-
isTextRange = rects.length > 0;
|
|
138
|
-
if (rects.length === 0 && rangeData.oldText !== rangeData.newText) {
|
|
139
|
-
const fallbackRect = measureElementRect(fieldElement, metrics);
|
|
140
|
-
if (fallbackRect)
|
|
141
|
-
rects.push(fallbackRect);
|
|
142
|
-
}
|
|
143
|
-
if (rects.length > 0) {
|
|
144
|
-
nextMeasurements[suggestion.id] = { rects, isTextRange };
|
|
145
219
|
}
|
|
220
|
+
nextMeasurements[suggestion.id] = {
|
|
221
|
+
rects,
|
|
222
|
+
isTextRange: true,
|
|
223
|
+
};
|
|
146
224
|
}
|
|
147
225
|
return nextMeasurements;
|
|
148
|
-
}, [
|
|
226
|
+
}, [pageViewContext.bridgeGeometry, suggestions, rangeDataBySuggestionId], {
|
|
149
227
|
initialValue: {},
|
|
150
228
|
equals: suggestionMeasurementsEqual,
|
|
151
229
|
interests: ["viewport", "layout", "text", "adornment-data"],
|
|
152
230
|
});
|
|
231
|
+
useEffect(() => {
|
|
232
|
+
lastMeasurementsRef.current = measurements;
|
|
233
|
+
}, [measurements]);
|
|
153
234
|
const overlayGroups = useMemo(() => {
|
|
154
235
|
const groups = new Map();
|
|
155
236
|
for (const suggestion of suggestions) {
|
|
@@ -181,11 +262,18 @@ export function SuggestionHighlightings({ iframe, }) {
|
|
|
181
262
|
left: rect.x,
|
|
182
263
|
width: rect.width,
|
|
183
264
|
height: rect.height,
|
|
265
|
+
zIndex: 20,
|
|
184
266
|
pointerEvents: "none",
|
|
185
|
-
}, children: [index === 0 && (_jsx(FeedbackHighlightBadgeTray, { style: {
|
|
186
|
-
top: -38,
|
|
187
|
-
left:
|
|
188
|
-
|
|
267
|
+
}, children: [index === 0 && (_jsx(FeedbackHighlightBadgeTray, { variant: variant, style: {
|
|
268
|
+
top: variant === "minimap" ? -12 : -38,
|
|
269
|
+
left: variant === "minimap"
|
|
270
|
+
? group.isTextRange
|
|
271
|
+
? -4
|
|
272
|
+
: 4
|
|
273
|
+
: group.isTextRange
|
|
274
|
+
? -9
|
|
275
|
+
: 8,
|
|
276
|
+
}, children: badgeSuggestions.map((suggestion, badgeIndex) => (_jsx(SuggestionDisplayPopover, { suggestion: suggestion, onSuggestionUpdated: () => { }, children: _jsx(FeedbackHighlightBadge, { item: suggestion, variant: variant, minimapColorClassName: "bg-component-suggestions", zIndex: badgeSuggestions.length - badgeIndex + 100, testId: "suggestion-highlight-icon", ariaSubject: "suggestion", onClick: () => {
|
|
189
277
|
editContext.select([suggestion.itemId]);
|
|
190
278
|
modifiedFields?.setFocusedField({
|
|
191
279
|
item: {
|
|
@@ -200,6 +288,23 @@ export function SuggestionHighlightings({ iframe, }) {
|
|
|
200
288
|
: "bg-feedback-green/10 absolute inset-0 rounded-[3px]" })] }, `${group.key}-${index}`)));
|
|
201
289
|
}) }));
|
|
202
290
|
}
|
|
291
|
+
function getSuggestionTextRangeKey(suggestion) {
|
|
292
|
+
return `suggestion:${suggestion.id}`;
|
|
293
|
+
}
|
|
294
|
+
function hasAnyExpectedBridgeTextRange(geometry, textRanges) {
|
|
295
|
+
if (!geometry)
|
|
296
|
+
return false;
|
|
297
|
+
const expectedKeys = new Set(textRanges.map((range) => range.key));
|
|
298
|
+
return geometry.targets.some((target) => target.kind === "textRange" && expectedKeys.has(target.key));
|
|
299
|
+
}
|
|
300
|
+
function hasAllExpectedBridgeTextRanges(geometry, textRanges) {
|
|
301
|
+
if (!geometry)
|
|
302
|
+
return false;
|
|
303
|
+
const availableKeys = new Set(geometry.targets
|
|
304
|
+
.filter((target) => target.kind === "textRange")
|
|
305
|
+
.map((target) => target.key));
|
|
306
|
+
return textRanges.every((range) => availableKeys.has(range.key));
|
|
307
|
+
}
|
|
203
308
|
function toPlainSuggestionText(value) {
|
|
204
309
|
if (!value || !/[<&]/.test(value))
|
|
205
310
|
return value || "";
|
|
@@ -207,27 +312,6 @@ function toPlainSuggestionText(value) {
|
|
|
207
312
|
template.innerHTML = value;
|
|
208
313
|
return template.content.textContent || "";
|
|
209
314
|
}
|
|
210
|
-
function getRangesForRenderedSuggestionText(rangeData, renderedText) {
|
|
211
|
-
if (renderedText === rangeData.newText)
|
|
212
|
-
return rangeData.newRanges;
|
|
213
|
-
if (renderedText === rangeData.oldText)
|
|
214
|
-
return rangeData.oldRanges;
|
|
215
|
-
const newIndex = rangeData.newText
|
|
216
|
-
? renderedText.indexOf(rangeData.newText)
|
|
217
|
-
: -1;
|
|
218
|
-
if (newIndex >= 0) {
|
|
219
|
-
return offsetRanges(rangeData.newRanges, newIndex);
|
|
220
|
-
}
|
|
221
|
-
const oldIndex = rangeData.oldText
|
|
222
|
-
? renderedText.indexOf(rangeData.oldText)
|
|
223
|
-
: -1;
|
|
224
|
-
if (oldIndex >= 0) {
|
|
225
|
-
return offsetRanges(rangeData.oldRanges, oldIndex);
|
|
226
|
-
}
|
|
227
|
-
const preferNew = rangeData.newRanges.length > 0 ||
|
|
228
|
-
renderedText.length >= rangeData.newText.length;
|
|
229
|
-
return preferNew ? rangeData.newRanges : rangeData.oldRanges;
|
|
230
|
-
}
|
|
231
315
|
function getSuggestionMeasurementKey(measurement) {
|
|
232
316
|
const rectKey = measurement.rects
|
|
233
317
|
.map((rect) => `${roundMeasurement(rect.x)}:${roundMeasurement(rect.y)}:${roundMeasurement(rect.width)}:${roundMeasurement(rect.height)}`)
|
|
@@ -237,9 +321,6 @@ function getSuggestionMeasurementKey(measurement) {
|
|
|
237
321
|
function roundMeasurement(value) {
|
|
238
322
|
return Math.round(value * 2) / 2;
|
|
239
323
|
}
|
|
240
|
-
function offsetRanges(ranges, offset) {
|
|
241
|
-
return ranges.map(([start, end]) => [start + offset, end + offset]);
|
|
242
|
-
}
|
|
243
324
|
function mergeRanges(changeRanges) {
|
|
244
325
|
const mergedRanges = [];
|
|
245
326
|
if (changeRanges.length === 0)
|