@parhelia/core 0.3.12832 → 0.3.12833
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/components/emoji/EmojiPicker.d.ts +18 -0
- package/dist/components/emoji/EmojiPicker.js +102 -0
- package/dist/components/emoji/EmojiPicker.js.map +1 -0
- package/dist/components/emoji/EmojiText.d.ts +19 -0
- package/dist/components/emoji/EmojiText.js +30 -0
- package/dist/components/emoji/EmojiText.js.map +1 -0
- package/dist/components/emoji/emojiData.generated.d.ts +2 -0
- package/dist/components/emoji/emojiData.generated.js +1878 -0
- package/dist/components/emoji/emojiData.generated.js.map +1 -0
- package/dist/components/emoji/emojiIndex.d.ts +46 -0
- package/dist/components/emoji/emojiIndex.js +173 -0
- package/dist/components/emoji/emojiIndex.js.map +1 -0
- package/dist/components/emoji/emoticons.d.ts +21 -0
- package/dist/components/emoji/emoticons.js +167 -0
- package/dist/components/emoji/emoticons.js.map +1 -0
- package/dist/components/emoji/textareaInsert.d.ts +19 -0
- package/dist/components/emoji/textareaInsert.js +29 -0
- package/dist/components/emoji/textareaInsert.js.map +1 -0
- package/dist/components/emoji/twemoji.d.ts +30 -0
- package/dist/components/emoji/twemoji.js +84 -0
- package/dist/components/emoji/twemoji.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTargets.js +6 -0
- package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -1
- package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +48 -4
- package/dist/editor/agent-changes/agentChangeTextHighlight.js +67 -9
- package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -1
- 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/terminal/components/CreateItemToolCallContent.js +1 -1
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +1 -2
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.d.ts +6 -0
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js +61 -0
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js.map +1 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.d.ts +34 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.js +218 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.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/client/clipboardStorage.d.ts +10 -0
- package/dist/editor/client/clipboardStorage.js +57 -0
- package/dist/editor/client/clipboardStorage.js.map +1 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.d.ts +4 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.js +62 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.js.map +1 -0
- package/dist/editor/client/liveEditState.d.ts +16 -0
- package/dist/editor/client/liveEditState.js +25 -0
- package/dist/editor/client/liveEditState.js.map +1 -0
- package/dist/editor/client/liveSessionState.d.ts +6 -0
- package/dist/editor/client/liveSessionState.js +20 -0
- package/dist/editor/client/liveSessionState.js.map +1 -0
- package/dist/editor/client/valueStore.d.ts +22 -0
- package/dist/editor/client/valueStore.js +29 -0
- package/dist/editor/client/valueStore.js.map +1 -0
- package/dist/editor/commands/componentClipboardCommands.d.ts +35 -0
- package/dist/editor/commands/componentClipboardCommands.js +271 -0
- package/dist/editor/commands/componentClipboardCommands.js.map +1 -0
- package/dist/editor/commands/componentMenuGroups.d.ts +2 -0
- package/dist/editor/commands/componentMenuGroups.js +43 -0
- package/dist/editor/commands/componentMenuGroups.js.map +1 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.d.ts +12 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.js +40 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.js.map +1 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.d.ts +17 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.js +80 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.js.map +1 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.d.ts +28 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.js +633 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.js.map +1 -0
- package/dist/editor/component-conversion/conversionModel.d.ts +109 -0
- package/dist/editor/component-conversion/conversionModel.js +519 -0
- package/dist/editor/component-conversion/conversionModel.js.map +1 -0
- package/dist/editor/component-conversion/conversionService.d.ts +12 -0
- package/dist/editor/component-conversion/conversionService.js +16 -0
- package/dist/editor/component-conversion/conversionService.js.map +1 -0
- package/dist/editor/component-conversion/conversionTypes.d.ts +214 -0
- package/dist/editor/component-conversion/conversionTypes.js +2 -0
- package/dist/editor/component-conversion/conversionTypes.js.map +1 -0
- package/dist/editor/component-conversion/convertComponentsCommand.d.ts +25 -0
- package/dist/editor/component-conversion/convertComponentsCommand.js +196 -0
- package/dist/editor/component-conversion/convertComponentsCommand.js.map +1 -0
- package/dist/editor/field-types/FieldHistoryBoundary.js +28 -7
- package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -1
- package/dist/editor/field-types/fieldStyles.d.ts +21 -0
- package/dist/editor/field-types/fieldStyles.js +22 -0
- package/dist/editor/field-types/fieldStyles.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +14 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js +12 -1
- package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/spellCheckText.d.ts +31 -0
- package/dist/editor/field-types/richtext/utils/spellCheckText.js +82 -0
- package/dist/editor/field-types/richtext/utils/spellCheckText.js.map +1 -0
- package/dist/editor/field-types/useFocusedFieldInput.d.ts +13 -0
- package/dist/editor/field-types/useFocusedFieldInput.js +50 -0
- package/dist/editor/field-types/useFocusedFieldInput.js.map +1 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +43 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js +149 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
- package/dist/editor/find-replace/FindReplacePanel.d.ts +11 -0
- package/dist/editor/find-replace/FindReplacePanel.js +311 -0
- package/dist/editor/find-replace/FindReplacePanel.js.map +1 -0
- package/dist/editor/find-replace/findReplaceCommand.d.ts +8 -0
- package/dist/editor/find-replace/findReplaceCommand.js +25 -0
- package/dist/editor/find-replace/findReplaceCommand.js.map +1 -0
- package/dist/editor/find-replace/findReplaceMatches.d.ts +42 -0
- package/dist/editor/find-replace/findReplaceMatches.js +66 -0
- package/dist/editor/find-replace/findReplaceMatches.js.map +1 -0
- package/dist/editor/find-replace/findReplaceStore.d.ts +30 -0
- package/dist/editor/find-replace/findReplaceStore.js +61 -0
- package/dist/editor/find-replace/findReplaceStore.js.map +1 -0
- package/dist/editor/find-replace/findReplaceTargets.d.ts +51 -0
- package/dist/editor/find-replace/findReplaceTargets.js +110 -0
- package/dist/editor/find-replace/findReplaceTargets.js.map +1 -0
- package/dist/editor/find-replace/findReplaceText.d.ts +50 -0
- package/dist/editor/find-replace/findReplaceText.js +189 -0
- package/dist/editor/find-replace/findReplaceText.js.map +1 -0
- package/dist/editor/itemContextMenuGroups.js +10 -1
- package/dist/editor/itemContextMenuGroups.js.map +1 -1
- package/dist/editor/media-selector/MediaDetailsView.d.ts +14 -0
- package/dist/editor/media-selector/MediaDetailsView.js +152 -0
- package/dist/editor/media-selector/MediaDetailsView.js.map +1 -0
- package/dist/editor/media-selector/useMediaFolderDrag.d.ts +26 -0
- package/dist/editor/media-selector/useMediaFolderDrag.js +153 -0
- package/dist/editor/media-selector/useMediaFolderDrag.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.d.ts +11 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js +65 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.d.ts +6 -0
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js +31 -0
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.d.ts +5 -0
- package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js +16 -0
- package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js.map +1 -0
- package/dist/editor/mobileBottomPanel.d.ts +40 -0
- package/dist/editor/mobileBottomPanel.js +63 -0
- package/dist/editor/mobileBottomPanel.js.map +1 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +3 -6
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +8 -6
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.d.ts +6 -0
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js +100 -0
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.d.ts +9 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js +32 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js.map +1 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.d.ts +14 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js +110 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js.map +1 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.d.ts +8 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.js +75 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.js.map +1 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +9 -13
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +25 -20
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.d.ts +15 -0
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js +31 -0
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js.map +1 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +11 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +120 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.d.ts +12 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js +197 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.d.ts +11 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.js +56 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.d.ts +44 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js +89 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.d.ts +17 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js +53 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.d.ts +11 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js +84 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.d.ts +34 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js +229 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.d.ts +9 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js +34 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.d.ts +49 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js +241 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.d.ts +11 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.js +65 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.js.map +1 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.d.ts +23 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.js +28 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.js.map +1 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.d.ts +18 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.js +29 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMargin.d.ts +57 -0
- package/dist/editor/page-viewer/FeedbackMargin.js +377 -0
- package/dist/editor/page-viewer/FeedbackMargin.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginController.d.ts +76 -0
- package/dist/editor/page-viewer/FeedbackMarginController.js +241 -0
- package/dist/editor/page-viewer/FeedbackMarginController.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.d.ts +16 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.js +24 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.d.ts +23 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js +105 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js.map +1 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.d.ts +24 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.js +31 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.js.map +1 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.d.ts +16 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.js +112 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.js.map +1 -0
- package/dist/editor/page-viewer/RenderingAiCheck.d.ts +18 -0
- package/dist/editor/page-viewer/RenderingAiCheck.js +45 -0
- package/dist/editor/page-viewer/RenderingAiCheck.js.map +1 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.d.ts +32 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.js +191 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.js.map +1 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.d.ts +17 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.js +38 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.js.map +1 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.d.ts +18 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.js +36 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.js.map +1 -0
- package/dist/editor/page-viewer/canvasLoadSettling.d.ts +42 -0
- package/dist/editor/page-viewer/canvasLoadSettling.js +46 -0
- package/dist/editor/page-viewer/canvasLoadSettling.js.map +1 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.d.ts +34 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.js +55 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.js.map +1 -0
- 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/feedbackMarginLayout.d.ts +119 -0
- package/dist/editor/page-viewer/feedbackMarginLayout.js +155 -0
- package/dist/editor/page-viewer/feedbackMarginLayout.js.map +1 -0
- package/dist/editor/page-viewer/feedbackMarginSources.d.ts +36 -0
- package/dist/editor/page-viewer/feedbackMarginSources.js +196 -0
- package/dist/editor/page-viewer/feedbackMarginSources.js.map +1 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.d.ts +43 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.js +107 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.js.map +1 -0
- package/dist/editor/page-viewer/interactivePreview.d.ts +168 -0
- package/dist/editor/page-viewer/interactivePreview.js +344 -0
- package/dist/editor/page-viewer/interactivePreview.js.map +1 -0
- package/dist/editor/page-viewer/minimapViewport.d.ts +2 -0
- package/dist/editor/page-viewer/minimapViewport.js +34 -0
- package/dist/editor/page-viewer/minimapViewport.js.map +1 -0
- package/dist/editor/page-viewer/openPageItems.d.ts +29 -0
- package/dist/editor/page-viewer/openPageItems.js +73 -0
- package/dist/editor/page-viewer/openPageItems.js.map +1 -0
- package/dist/editor/page-viewer/overviewRuler.d.ts +128 -0
- package/dist/editor/page-viewer/overviewRuler.js +226 -0
- package/dist/editor/page-viewer/overviewRuler.js.map +1 -0
- package/dist/editor/page-viewer/renderingApproval.d.ts +59 -0
- package/dist/editor/page-viewer/renderingApproval.js +186 -0
- package/dist/editor/page-viewer/renderingApproval.js.map +1 -0
- package/dist/editor/page-viewer/renderingChanges.d.ts +29 -0
- package/dist/editor/page-viewer/renderingChanges.js +40 -0
- package/dist/editor/page-viewer/renderingChanges.js.map +1 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.d.ts +23 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.js +26 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.js.map +1 -0
- package/dist/editor/page-viewer/useInteractivePreview.d.ts +77 -0
- package/dist/editor/page-viewer/useInteractivePreview.js +210 -0
- package/dist/editor/page-viewer/useInteractivePreview.js.map +1 -0
- package/dist/editor/reviews/CollapsibleText.d.ts +13 -0
- package/dist/editor/reviews/CollapsibleText.js +41 -0
- package/dist/editor/reviews/CollapsibleText.js.map +1 -0
- package/dist/editor/reviews/CommentImageAttachments.d.ts +12 -0
- package/dist/editor/reviews/CommentImageAttachments.js +19 -0
- package/dist/editor/reviews/CommentImageAttachments.js.map +1 -0
- package/dist/editor/reviews/CommentQuote.d.ts +13 -0
- package/dist/editor/reviews/CommentQuote.js +35 -0
- package/dist/editor/reviews/CommentQuote.js.map +1 -0
- package/dist/editor/reviews/CommentTargetOutline.d.ts +13 -0
- package/dist/editor/reviews/CommentTargetOutline.js +21 -0
- package/dist/editor/reviews/CommentTargetOutline.js.map +1 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.d.ts +7 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.js +117 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.js.map +1 -0
- package/dist/editor/reviews/CommentThreadAgentLink.d.ts +28 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
- package/dist/editor/reviews/CommentThreadCard.d.ts +34 -0
- package/dist/editor/reviews/CommentThreadCard.js +156 -0
- package/dist/editor/reviews/CommentThreadCard.js.map +1 -0
- package/dist/editor/reviews/SuggestionThreadCard.d.ts +19 -0
- package/dist/editor/reviews/SuggestionThreadCard.js +25 -0
- package/dist/editor/reviews/SuggestionThreadCard.js.map +1 -0
- package/dist/editor/reviews/addCommentOnTarget.d.ts +22 -0
- package/dist/editor/reviews/addCommentOnTarget.js +32 -0
- package/dist/editor/reviews/addCommentOnTarget.js.map +1 -0
- package/dist/editor/reviews/balloonLayout.d.ts +51 -0
- package/dist/editor/reviews/balloonLayout.js +101 -0
- package/dist/editor/reviews/balloonLayout.js.map +1 -0
- package/dist/editor/reviews/commentAgentAttachments.d.ts +5 -0
- package/dist/editor/reviews/commentAgentAttachments.js +51 -0
- package/dist/editor/reviews/commentAgentAttachments.js.map +1 -0
- package/dist/editor/reviews/commentImages.d.ts +48 -0
- package/dist/editor/reviews/commentImages.js +128 -0
- package/dist/editor/reviews/commentImages.js.map +1 -0
- package/dist/editor/reviews/commentTargetPicker.d.ts +114 -0
- package/dist/editor/reviews/commentTargetPicker.js +153 -0
- package/dist/editor/reviews/commentTargetPicker.js.map +1 -0
- package/dist/editor/reviews/feedbackBalloonDate.d.ts +8 -0
- package/dist/editor/reviews/feedbackBalloonDate.js +22 -0
- package/dist/editor/reviews/feedbackBalloonDate.js.map +1 -0
- package/dist/editor/reviews/feedbackDrafts.d.ts +49 -0
- package/dist/editor/reviews/feedbackDrafts.js +74 -0
- package/dist/editor/reviews/feedbackDrafts.js.map +1 -0
- package/dist/editor/reviews/feedbackHoverState.d.ts +18 -0
- package/dist/editor/reviews/feedbackHoverState.js +35 -0
- package/dist/editor/reviews/feedbackHoverState.js.map +1 -0
- package/dist/editor/reviews/feedbackPersonFilter.d.ts +3 -0
- package/dist/editor/reviews/feedbackPersonFilter.js +32 -0
- package/dist/editor/reviews/feedbackPersonFilter.js.map +1 -0
- package/dist/editor/reviews/feedbackThreadSelection.d.ts +10 -0
- package/dist/editor/reviews/feedbackThreadSelection.js +31 -0
- package/dist/editor/reviews/feedbackThreadSelection.js.map +1 -0
- package/dist/editor/reviews/feedbackThreads.d.ts +50 -0
- package/dist/editor/reviews/feedbackThreads.js +135 -0
- package/dist/editor/reviews/feedbackThreads.js.map +1 -0
- package/dist/editor/reviews/feedbackWheelForwarding.d.ts +34 -0
- package/dist/editor/reviews/feedbackWheelForwarding.js +108 -0
- package/dist/editor/reviews/feedbackWheelForwarding.js.map +1 -0
- package/dist/editor/reviews/reviewUrlScope.d.ts +23 -0
- package/dist/editor/reviews/reviewUrlScope.js +86 -0
- package/dist/editor/reviews/reviewUrlScope.js.map +1 -0
- package/dist/editor/reviews/scrollWithin.d.ts +29 -0
- package/dist/editor/reviews/scrollWithin.js +87 -0
- package/dist/editor/reviews/scrollWithin.js.map +1 -0
- package/dist/editor/reviews/subtreeFeedback.d.ts +57 -0
- package/dist/editor/reviews/subtreeFeedback.js +137 -0
- package/dist/editor/reviews/subtreeFeedback.js.map +1 -0
- package/dist/editor/reviews/useCommentImagePaste.d.ts +80 -0
- package/dist/editor/reviews/useCommentImagePaste.js +252 -0
- package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
- package/dist/editor/reviews/useFeedbackThreads.d.ts +35 -0
- package/dist/editor/reviews/useFeedbackThreads.js +137 -0
- package/dist/editor/reviews/useFeedbackThreads.js.map +1 -0
- package/dist/editor/reviews/useMeasuredHeights.d.ts +25 -0
- package/dist/editor/reviews/useMeasuredHeights.js +176 -0
- package/dist/editor/reviews/useMeasuredHeights.js.map +1 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.d.ts +7 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.js +42 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.js.map +1 -0
- package/dist/editor/services/mcpAccessService.d.ts +93 -0
- package/dist/editor/services/mcpAccessService.js +41 -0
- package/dist/editor/services/mcpAccessService.js.map +1 -0
- package/dist/editor/services/previewTokenService.d.ts +14 -0
- package/dist/editor/services/previewTokenService.js +34 -0
- package/dist/editor/services/previewTokenService.js.map +1 -0
- package/dist/editor/services/renderingsService.d.ts +117 -0
- package/dist/editor/services/renderingsService.js +245 -0
- package/dist/editor/services/renderingsService.js.map +1 -0
- package/dist/editor/services/spellCheckService.d.ts +13 -0
- package/dist/editor/services/spellCheckService.js +33 -0
- package/dist/editor/services/spellCheckService.js.map +1 -0
- package/dist/editor/settings/panels/McpAccessPanel.d.ts +7 -0
- package/dist/editor/settings/panels/McpAccessPanel.js +95 -0
- package/dist/editor/settings/panels/McpAccessPanel.js.map +1 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.d.ts +8 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.js +221 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.js.map +1 -0
- package/dist/editor/settings/panels/SpellCheckPanel.d.ts +8 -0
- package/dist/editor/settings/panels/SpellCheckPanel.js +253 -0
- package/dist/editor/settings/panels/SpellCheckPanel.js.map +1 -0
- package/dist/editor/sidebar/FeedbackSidebar.d.ts +7 -0
- package/dist/editor/sidebar/FeedbackSidebar.js +300 -0
- package/dist/editor/sidebar/FeedbackSidebar.js.map +1 -0
- package/dist/editor/sidebar/OperationDetailsContent.js +50 -0
- package/dist/editor/sidebar/OperationDetailsContent.js.map +1 -1
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +19 -6
- package/dist/editor/sidebar/liveComponentThumbnails.js +39 -18
- package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -1
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.d.ts +30 -0
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js +69 -0
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js.map +1 -0
- package/dist/editor/spellcheck/htmlSpellDocument.d.ts +60 -0
- package/dist/editor/spellcheck/htmlSpellDocument.js +181 -0
- package/dist/editor/spellcheck/htmlSpellDocument.js.map +1 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.d.ts +45 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.js +277 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.js.map +1 -0
- package/dist/editor/spellcheck/replacementGuard.d.ts +27 -0
- package/dist/editor/spellcheck/replacementGuard.js +29 -0
- package/dist/editor/spellcheck/replacementGuard.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.d.ts +17 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.js +37 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.d.ts +71 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.js +126 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckClient.d.ts +66 -0
- package/dist/editor/spellcheck/spellCheckClient.js +0 -0
- package/dist/editor/spellcheck/spellCheckClient.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.d.ts +52 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.js +120 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckReplace.d.ts +8 -0
- package/dist/editor/spellcheck/spellCheckReplace.js +20 -0
- package/dist/editor/spellcheck/spellCheckReplace.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckStyles.d.ts +11 -0
- package/dist/editor/spellcheck/spellCheckStyles.js +12 -0
- package/dist/editor/spellcheck/spellCheckStyles.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckTypes.d.ts +94 -0
- package/dist/editor/spellcheck/spellCheckTypes.js +2 -0
- package/dist/editor/spellcheck/spellCheckTypes.js.map +1 -0
- package/dist/editor/spellcheck/textMarkHitTest.d.ts +14 -0
- package/dist/editor/spellcheck/textMarkHitTest.js +39 -0
- package/dist/editor/spellcheck/textMarkHitTest.js.map +1 -0
- package/dist/editor/spellcheck/useSpellCheck.d.ts +16 -0
- package/dist/editor/spellcheck/useSpellCheck.js +57 -0
- package/dist/editor/spellcheck/useSpellCheck.js.map +1 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.d.ts +14 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.js +40 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.js.map +1 -0
- package/dist/editor/ui/ParheliaMark.d.ts +15 -0
- package/dist/editor/ui/ParheliaMark.js +12 -0
- package/dist/editor/ui/ParheliaMark.js.map +1 -0
- package/dist/editor/ui/RootItemPicker.d.ts +18 -0
- package/dist/editor/ui/RootItemPicker.js +112 -0
- package/dist/editor/ui/RootItemPicker.js.map +1 -0
- package/dist/editor/undoEligibility.d.ts +2 -0
- package/dist/editor/undoEligibility.js +8 -0
- package/dist/editor/undoEligibility.js.map +1 -0
- package/dist/editor/utils/dataTransferImages.d.ts +7 -0
- package/dist/editor/utils/dataTransferImages.js +43 -0
- package/dist/editor/utils/dataTransferImages.js.map +1 -0
- package/dist/editor/validation/navigateToValidationIssue.d.ts +2 -2
- package/dist/editor/validation/navigateToValidationIssue.js +1 -1
- package/dist/editor/validation/navigateToValidationIssue.js.map +1 -1
- package/dist/editor/validation/validationRulerIssues.d.ts +17 -0
- package/dist/editor/validation/validationRulerIssues.js +44 -0
- package/dist/editor/validation/validationRulerIssues.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/components/AttentionPromptDialog.d.ts +13 -0
- package/dist/task-board/components/AttentionPromptDialog.js +45 -0
- package/dist/task-board/components/AttentionPromptDialog.js.map +1 -0
- package/dist/task-board/components/GoalFindingsTable.d.ts +43 -0
- package/dist/task-board/components/GoalFindingsTable.js +160 -0
- package/dist/task-board/components/GoalFindingsTable.js.map +1 -0
- package/dist/task-board/components/IssuePanel.d.ts +31 -0
- package/dist/task-board/components/IssuePanel.js +268 -0
- package/dist/task-board/components/IssuePanel.js.map +1 -0
- package/dist/task-board/components/SubgoalFindings.d.ts +40 -0
- package/dist/task-board/components/SubgoalFindings.js +88 -0
- package/dist/task-board/components/SubgoalFindings.js.map +1 -0
- package/dist/task-board/services/issueService.d.ts +193 -0
- package/dist/task-board/services/issueService.js +97 -0
- package/dist/task-board/services/issueService.js.map +1 -0
- package/dist/task-board/taskBlockers.d.ts +10 -0
- package/dist/task-board/taskBlockers.js +66 -0
- package/dist/task-board/taskBlockers.js.map +1 -0
- package/dist/task-board/utils/projectDashboardModel.js +14 -0
- package/dist/task-board/utils/projectDashboardModel.js.map +1 -1
- package/dist/task-board/views/ProjectDashboardView.js +5 -13
- package/dist/task-board/views/ProjectDashboardView.js.map +1 -1
- package/dist/tour/sandbox-tour-copy.d.ts +8 -0
- package/dist/tour/sandbox-tour-copy.js +8 -0
- package/dist/tour/sandbox-tour-copy.js.map +1 -1
- package/dist/tour/sandbox-tour.d.ts +3 -0
- package/dist/tour/sandbox-tour.js +107 -3
- package/dist/tour/sandbox-tour.js.map +1 -1
- package/package.json +1 -1
- package/dist/editor/page-editor-chrome/bridgeLinkValue.d.ts +0 -10
- package/dist/editor/page-editor-chrome/bridgeLinkValue.js +0 -55
- package/dist/editor/page-editor-chrome/bridgeLinkValue.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaDetailsView.js","sourceRoot":"","sources":["../../../src/editor/media-selector/MediaDetailsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "react";
|
|
2
|
+
import type { ItemDescriptor } from "../pageModel";
|
|
3
|
+
import type { Thumbnail } from "../services/contentService";
|
|
4
|
+
type MediaItem = Thumbnail & {
|
|
5
|
+
language?: string;
|
|
6
|
+
version?: number;
|
|
7
|
+
};
|
|
8
|
+
type FolderTarget = {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
language?: string;
|
|
12
|
+
version?: number;
|
|
13
|
+
};
|
|
14
|
+
export declare function useMediaFolderDrag({ language, images, selectedIds, disabled, onMoved, }: {
|
|
15
|
+
language: string;
|
|
16
|
+
images: MediaItem[];
|
|
17
|
+
selectedIds: string[];
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
onMoved: (items: ItemDescriptor[]) => void;
|
|
20
|
+
}): {
|
|
21
|
+
getItemProps: (item: MediaItem, isFolder: boolean) => HTMLAttributes<HTMLElement>;
|
|
22
|
+
getDropProps: (target: FolderTarget) => HTMLAttributes<HTMLElement>;
|
|
23
|
+
dropTarget: string | undefined;
|
|
24
|
+
moving: boolean;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { useRef, useState } from "react";
|
|
2
|
+
import { toast } from "sonner";
|
|
3
|
+
import { useEditContext } from "../client/editContext";
|
|
4
|
+
import { beginMediaItemPointerDrag, cancelMediaItemPointerDrag, consumeMediaItemPointerDrag, MEDIA_ITEM_DRAG_MIME, readMediaItemDrag, startMediaItemDrag, toMediaItemDescriptor, } from "./mediaItemDrag";
|
|
5
|
+
export function useMediaFolderDrag({ language, images, selectedIds, disabled, onMoved, }) {
|
|
6
|
+
const editContext = useEditContext();
|
|
7
|
+
const [dropTarget, setDropTarget] = useState();
|
|
8
|
+
const [moving, setMoving] = useState(false);
|
|
9
|
+
const movingRef = useRef(false);
|
|
10
|
+
const draggedItems = useRef([]);
|
|
11
|
+
const suppressClick = useRef(false);
|
|
12
|
+
const normalize = (id) => id.toLowerCase();
|
|
13
|
+
const finishDrag = () => {
|
|
14
|
+
cancelMediaItemPointerDrag();
|
|
15
|
+
draggedItems.current = [];
|
|
16
|
+
setDropTarget(undefined);
|
|
17
|
+
editContext?.dragEnd();
|
|
18
|
+
// A pointer fallback can emit a click after pointerup.
|
|
19
|
+
window.setTimeout(() => {
|
|
20
|
+
suppressClick.current = false;
|
|
21
|
+
}, 0);
|
|
22
|
+
};
|
|
23
|
+
const move = async (target, items) => {
|
|
24
|
+
if (disabled || movingRef.current || !items.length || !editContext)
|
|
25
|
+
return;
|
|
26
|
+
movingRef.current = true;
|
|
27
|
+
setMoving(true);
|
|
28
|
+
try {
|
|
29
|
+
const ids = new Set(items.map((item) => normalize(item.id)));
|
|
30
|
+
const destination = await editContext.itemsRepository.getItem({
|
|
31
|
+
id: target.id,
|
|
32
|
+
language: target.language || language,
|
|
33
|
+
version: target.version ?? 0,
|
|
34
|
+
});
|
|
35
|
+
if (!destination?.canCreate) {
|
|
36
|
+
toast.error("You don't have permission to move items into this folder.");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// Check ancestry as well as self-drops, including folders found via search.
|
|
40
|
+
let ancestor = destination;
|
|
41
|
+
const visited = new Set();
|
|
42
|
+
while (ancestor) {
|
|
43
|
+
const id = normalize(ancestor.id);
|
|
44
|
+
if (ids.has(id)) {
|
|
45
|
+
toast.error("A folder cannot be moved into itself or one of its subfolders.");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (!ancestor.parentId || visited.has(id))
|
|
49
|
+
break;
|
|
50
|
+
visited.add(id);
|
|
51
|
+
ancestor = await editContext.itemsRepository.getItem({
|
|
52
|
+
id: ancestor.parentId,
|
|
53
|
+
language,
|
|
54
|
+
version: 0,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
const moved = await editContext.operations.moveItems(items, destination.descriptor, -1);
|
|
58
|
+
if (moved) {
|
|
59
|
+
onMoved(items);
|
|
60
|
+
toast.success(items.length === 1
|
|
61
|
+
? `Moved "${items[0].name ?? "item"}" to ${target.name}`
|
|
62
|
+
: `Moved ${items.length} items to ${target.name}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
editContext.showErrorToast(error);
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
movingRef.current = false;
|
|
70
|
+
setMoving(false);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const getDropProps = (target) => ({
|
|
74
|
+
onDragOver: (event) => {
|
|
75
|
+
const items = draggedItems.current.length
|
|
76
|
+
? draggedItems.current
|
|
77
|
+
: editContext?.dragObject?.type === "items"
|
|
78
|
+
? (editContext.dragObject.items ?? [])
|
|
79
|
+
: [];
|
|
80
|
+
const isItemDrag = items.length > 0 ||
|
|
81
|
+
Array.from(event.dataTransfer.types).includes(MEDIA_ITEM_DRAG_MIME);
|
|
82
|
+
if (!isItemDrag)
|
|
83
|
+
return;
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
event.stopPropagation();
|
|
86
|
+
const allowed = !disabled &&
|
|
87
|
+
!movingRef.current &&
|
|
88
|
+
!items.some((item) => normalize(item.id) === normalize(target.id));
|
|
89
|
+
event.dataTransfer.dropEffect = allowed ? "move" : "none";
|
|
90
|
+
setDropTarget(allowed ? target.id : undefined);
|
|
91
|
+
},
|
|
92
|
+
onDragLeave: (event) => {
|
|
93
|
+
if (event.relatedTarget instanceof Node &&
|
|
94
|
+
event.currentTarget.contains(event.relatedTarget))
|
|
95
|
+
return;
|
|
96
|
+
setDropTarget(undefined);
|
|
97
|
+
},
|
|
98
|
+
onDrop: (event) => {
|
|
99
|
+
const drag = readMediaItemDrag(event.dataTransfer) ?? editContext?.dragObject;
|
|
100
|
+
if (drag?.type !== "items")
|
|
101
|
+
return;
|
|
102
|
+
event.preventDefault();
|
|
103
|
+
event.stopPropagation();
|
|
104
|
+
finishDrag();
|
|
105
|
+
void move(target, drag.items ?? []);
|
|
106
|
+
},
|
|
107
|
+
onPointerUp: (event) => {
|
|
108
|
+
const drag = consumeMediaItemPointerDrag(event.nativeEvent);
|
|
109
|
+
if (drag?.type !== "items")
|
|
110
|
+
return;
|
|
111
|
+
event.preventDefault();
|
|
112
|
+
event.stopPropagation();
|
|
113
|
+
suppressClick.current = true;
|
|
114
|
+
finishDrag();
|
|
115
|
+
void move(target, drag.items ?? []);
|
|
116
|
+
},
|
|
117
|
+
onClickCapture: (event) => {
|
|
118
|
+
if (!suppressClick.current)
|
|
119
|
+
return;
|
|
120
|
+
event.preventDefault();
|
|
121
|
+
event.stopPropagation();
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
const getItemProps = (item, isFolder) => {
|
|
125
|
+
const selection = selectedIds.includes(item.id)
|
|
126
|
+
? images.filter((image) => selectedIds.includes(image.id))
|
|
127
|
+
: [item];
|
|
128
|
+
return {
|
|
129
|
+
...(isFolder ? getDropProps(item) : {}),
|
|
130
|
+
draggable: !disabled && !moving,
|
|
131
|
+
onPointerDown: (event) => {
|
|
132
|
+
if (disabled || moving)
|
|
133
|
+
return;
|
|
134
|
+
beginMediaItemPointerDrag({
|
|
135
|
+
event: event.nativeEvent,
|
|
136
|
+
items: selection,
|
|
137
|
+
language,
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
onDragStart: (event) => {
|
|
141
|
+
if (disabled || movingRef.current) {
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
draggedItems.current = selection.map((image) => toMediaItemDescriptor(image, language));
|
|
146
|
+
startMediaItemDrag({ event, editContext, items: selection, language });
|
|
147
|
+
},
|
|
148
|
+
onDragEnd: finishDrag,
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
return { getItemProps, getDropProps, dropTarget, moving };
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=useMediaFolderDrag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaFolderDrag.js","sourceRoot":"","sources":["../../../src/editor/media-selector/useMediaFolderDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAuB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,UAAU,kBAAkB,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,OAAO,GAOR;IACC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAU,CAAC;IACvD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,MAAM,CAAmB,EAAE,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAEnD,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,0BAA0B,EAAE,CAAC;QAC7B,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;QAC1B,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,WAAW,EAAE,OAAO,EAAE,CAAC;QACvB,uDAAuD;QACvD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACrB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAAE,MAAoB,EAAE,KAAuB,EAAE,EAAE;QACnE,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW;YAAE,OAAO;QAC3E,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC5D,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ;gBACrC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,KAAK,CACT,2DAA2D,CAC5D,CAAC;gBACF,OAAO;YACT,CAAC;YACD,4EAA4E;YAC5E,IAAI,QAAQ,GAAyB,WAAW,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,OAAO,QAAQ,EAAE,CAAC;gBAChB,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAChB,KAAK,CAAC,KAAK,CACT,gEAAgE,CACjE,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,MAAM;gBACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,QAAQ,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC;oBACnD,EAAE,EAAE,QAAQ,CAAC,QAAQ;oBACrB,QAAQ;oBACR,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,CAClD,KAAK,EACL,WAAW,CAAC,UAAU,EACtB,CAAC,CAAC,CACH,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,KAAK,CAAC,OAAO,CACX,KAAK,CAAC,MAAM,KAAK,CAAC;oBAChB,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,MAAM,QAAQ,MAAM,CAAC,IAAI,EAAE;oBACzD,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,aAAa,MAAM,CAAC,IAAI,EAAE,CACpD,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAoB,EAA+B,EAAE,CAAC,CAAC;QAC3E,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM;gBACvC,CAAC,CAAC,YAAY,CAAC,OAAO;gBACtB,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO;oBACzC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;oBACtC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,GAAG,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,OAAO,GACX,CAAC,QAAQ;gBACT,CAAC,SAAS,CAAC,OAAO;gBAClB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACrE,KAAK,CAAC,YAAY,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,IACE,KAAK,CAAC,aAAa,YAAY,IAAI;gBACnC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;gBAEjD,OAAO;YACT,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,MAAM,IAAI,GACR,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,WAAW,EAAE,UAAU,CAAC;YACnE,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO;gBAAE,OAAO;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,UAAU,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO;gBAAE,OAAO;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7B,UAAU,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,OAAO;gBAAE,OAAO;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CACnB,IAAe,EACf,QAAiB,EACY,EAAE;QAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACX,OAAO;YACL,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,SAAS,EAAE,CAAC,QAAQ,IAAI,CAAC,MAAM;YAC/B,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,QAAQ,IAAI,MAAM;oBAAE,OAAO;gBAC/B,yBAAyB,CAAC;oBACxB,KAAK,EAAE,KAAK,CAAC,WAAW;oBACxB,KAAK,EAAE,SAAS;oBAChB,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;YACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBACD,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CACvC,CAAC;gBACF,kBAAkB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,SAAS,EAAE,UAAU;SACtB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The comments split button: the left half shows and hides the comment
|
|
3
|
+
* margin, the right half (while the margin is shown) opens its filters. The
|
|
4
|
+
* margin itself carries no controls; it is the page's margin, not a panel.
|
|
5
|
+
*
|
|
6
|
+
* On a phone the left half drives the comments panel below the canvas: it
|
|
7
|
+
* opens the panel, brings it back when the edit form or a sidebar covers
|
|
8
|
+
* it, and closes it. Its pressed state is the panel's, not the persisted
|
|
9
|
+
* preference's, so it tells what a tap will do.
|
|
10
|
+
*/
|
|
11
|
+
export declare function CommentsToggleControl(): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown, MessageCircleMore } from "lucide-react";
|
|
3
|
+
import { CountBadge } from "../../../components/ui/badge";
|
|
4
|
+
import { Popover, PopoverContent, PopoverTrigger, } from "../../../components/ui/popover";
|
|
5
|
+
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../../components/ui/tooltip";
|
|
6
|
+
import { cn } from "../../../lib/utils";
|
|
7
|
+
import { useEditContext } from "../../client/editContext";
|
|
8
|
+
import { countActiveFeedbackFilters, FeedbackFiltersPanel, } from "../../reviews/FeedbackFilters";
|
|
9
|
+
import { useFeedbackPersonFilter } from "../../reviews/feedbackPersonFilter";
|
|
10
|
+
import { FEEDBACK_SIDEBAR_TEXT_CLASS } from "../../reviews/feedbackSidebarText";
|
|
11
|
+
import { useMobileBottomPanel } from "../../mobileBottomPanel";
|
|
12
|
+
import { closeCommentsFeedback, openCommentsFeedback, toggleCommentsFeedback, } from "../../reviews/openCommentsFeedback";
|
|
13
|
+
import { useFeedbackThreads } from "../../reviews/useFeedbackThreads";
|
|
14
|
+
import { SimpleIconButton } from "../../ui/SimpleIconButton";
|
|
15
|
+
/**
|
|
16
|
+
* The comments split button: the left half shows and hides the comment
|
|
17
|
+
* margin, the right half (while the margin is shown) opens its filters. The
|
|
18
|
+
* margin itself carries no controls; it is the page's margin, not a panel.
|
|
19
|
+
*
|
|
20
|
+
* On a phone the left half drives the comments panel below the canvas: it
|
|
21
|
+
* opens the panel, brings it back when the edit form or a sidebar covers
|
|
22
|
+
* it, and closes it. Its pressed state is the panel's, not the persisted
|
|
23
|
+
* preference's, so it tells what a tap will do.
|
|
24
|
+
*/
|
|
25
|
+
export function CommentsToggleControl() {
|
|
26
|
+
const editContext = useEditContext();
|
|
27
|
+
const selectedPeople = useFeedbackPersonFilter();
|
|
28
|
+
const bottomPanel = useMobileBottomPanel();
|
|
29
|
+
if (!editContext)
|
|
30
|
+
return null;
|
|
31
|
+
const isMobile = !!editContext.isMobile;
|
|
32
|
+
const panelOpen = !!editContext.mobileCommentsPanelOpen;
|
|
33
|
+
const panelShowing = bottomPanel === "comments";
|
|
34
|
+
const showComments = isMobile ? panelOpen : !!editContext.showComments;
|
|
35
|
+
const handleToggle = () => {
|
|
36
|
+
if (!isMobile) {
|
|
37
|
+
toggleCommentsFeedback(editContext);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!panelOpen) {
|
|
41
|
+
openCommentsFeedback(editContext);
|
|
42
|
+
}
|
|
43
|
+
else if (!panelShowing) {
|
|
44
|
+
editContext.revealMobileCommentsPanel();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
closeCommentsFeedback(editContext);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const toggleLabel = isMobile && panelOpen && !panelShowing
|
|
51
|
+
? "Show comments panel"
|
|
52
|
+
: "Show comments";
|
|
53
|
+
const commentsCount = editContext.comments?.filter((comment) => !comment.isResolved).length || 0;
|
|
54
|
+
const activeFilterCount = countActiveFeedbackFilters(!!editContext.showResolvedComments, selectedPeople);
|
|
55
|
+
const filterLabel = activeFilterCount > 0
|
|
56
|
+
? `Filter comments (${activeFilterCount} active filters)`
|
|
57
|
+
: "Filter comments";
|
|
58
|
+
return (_jsxs("div", { className: "flex items-stretch", role: "group", "aria-label": "Comments", children: [_jsx(SimpleIconButton, { className: cn("relative", showComments && "rounded-r-none"), selected: showComments, icon: _jsx(MessageCircleMore, { className: "h-6 w-6 p-1", strokeWidth: 1 }), label: toggleLabel, size: "large", "data-testid": "toggle-comments-button", onClick: handleToggle, children: commentsCount > 0 && (_jsx(CountBadge, { className: "absolute -top-1 -right-1 z-10 min-w-[16px]", children: commentsCount > 99 ? "99+" : commentsCount })) }), showComments && (_jsxs(Tooltip, { delayDuration: 500, children: [_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(TooltipTrigger, { asChild: true, children: _jsx(SimpleIconButton, { "data-testid": "feedback-filter-button", showTooltip: false, selected: true, icon: _jsx(ChevronDown, { className: "h-3 w-3", strokeWidth: 1 }), label: filterLabel, className: "relative rounded-l-none px-0.5 py-0", onClick: () => { }, children: activeFilterCount > 0 && (_jsx("span", { "data-testid": "feedback-filter-active", className: "bg-highlight-100 absolute right-0.5 bottom-1 h-1.5 w-1.5 rounded-full" })) }) }) }), _jsx(PopoverContent, { className: `${FEEDBACK_SIDEBAR_TEXT_CLASS} w-72 p-3`, align: "end", "data-testid": "feedback-filter-popover", children: _jsx(CommentsFilterPopoverBody, {}) })] }), _jsx(TooltipContent, { children: filterLabel })] }))] }));
|
|
59
|
+
}
|
|
60
|
+
/** Mounted only while the popover is open: resolves the author names. */
|
|
61
|
+
function CommentsFilterPopoverBody() {
|
|
62
|
+
const feedback = useFeedbackThreads();
|
|
63
|
+
return (_jsx(FeedbackFiltersPanel, { showResolved: feedback.showResolved, selectedPeople: feedback.selectedPersonFilter, availableAuthors: feedback.availableAuthors, onShowResolvedChange: feedback.setShowResolved, onSelectedPeopleChange: feedback.setSelectedPersonFilter }));
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=CommentsToggleControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommentsToggleControl.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/CommentsToggleControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toolbar entry point for "Find and replace" (also reachable with Ctrl+H).
|
|
3
|
+
* The popover is non-modal and stays open while the user scrolls or clicks
|
|
4
|
+
* the canvas, so the highlighted matches can be inspected one by one.
|
|
5
|
+
*/
|
|
6
|
+
export declare function FindReplaceControls(): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Popover, PopoverAnchor, PopoverContent, } from "../../../components/ui/popover";
|
|
3
|
+
import { useEditContext } from "../../client/editContext";
|
|
4
|
+
import { FindReplacePanel } from "../../find-replace/FindReplacePanel";
|
|
5
|
+
import { findReplaceCommand } from "../../find-replace/findReplaceCommand";
|
|
6
|
+
import { findReplaceStore, useFindReplaceState, } from "../../find-replace/findReplaceStore";
|
|
7
|
+
import { SimpleIconButton } from "../../ui/SimpleIconButton";
|
|
8
|
+
/**
|
|
9
|
+
* Toolbar entry point for "Find and replace" (also reachable with Ctrl+H).
|
|
10
|
+
* The popover is non-modal and stays open while the user scrolls or clicks
|
|
11
|
+
* the canvas, so the highlighted matches can be inspected one by one.
|
|
12
|
+
*/
|
|
13
|
+
export function FindReplaceControls() {
|
|
14
|
+
const editContext = useEditContext();
|
|
15
|
+
const { open } = useFindReplaceState();
|
|
16
|
+
if (!editContext)
|
|
17
|
+
return null;
|
|
18
|
+
const disabled = editContext.isCommandDisabled({
|
|
19
|
+
command: findReplaceCommand,
|
|
20
|
+
});
|
|
21
|
+
return (_jsxs(Popover, { open: open, onOpenChange: (next) => {
|
|
22
|
+
if (next)
|
|
23
|
+
findReplaceStore.open();
|
|
24
|
+
else
|
|
25
|
+
findReplaceStore.close();
|
|
26
|
+
}, enableIframeClickDetection: false, children: [_jsx(PopoverAnchor, { asChild: true, children: _jsx(SimpleIconButton, { icon: findReplaceCommand.icon, label: "Find and replace (Ctrl+H)", size: "large", selected: open, disabled: disabled, onClick: () => findReplaceStore.toggle(), "data-testid": "toolbar-find-replace-button" }) }), _jsx(PopoverContent, { align: "start", side: "bottom", sideOffset: 6, className: "w-[400px] max-w-[90vw] p-0",
|
|
27
|
+
// Clicking elsewhere in the editor must not dismiss the panel: it is
|
|
28
|
+
// a tool window, closed by its own button, Escape or the toolbar icon.
|
|
29
|
+
onInteractOutside: (event) => event.preventDefault(), onOpenAutoFocus: (event) => event.preventDefault(), "data-testid": "find-replace-popover", children: open && (_jsx(FindReplacePanel, { editContext: editContext, onClose: () => findReplaceStore.close() })) })] }));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=FindReplaceControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FindReplaceControls.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/FindReplaceControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC;QAC7C,OAAO,EAAE,kBAAkB;KAC5B,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI;gBAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC;;gBAC7B,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC,EACD,0BAA0B,EAAE,KAAK,aAEjC,KAAC,aAAa,IAAC,OAAO,kBACpB,KAAC,gBAAgB,IACf,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAC7B,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,iBAC5B,6BAA6B,GACzC,GACY,EAChB,KAAC,cAAc,IACb,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,QAAQ,EACb,UAAU,EAAE,CAAC,EACb,SAAS,EAAC,4BAA4B;gBACtC,qEAAqE;gBACrE,uEAAuE;gBACvE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EACpD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,iBACtC,sBAAsB,YAEjC,IAAI,IAAI,CACP,KAAC,gBAAgB,IACf,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GACvC,CACH,GACc,IACT,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SpellCheck } from "lucide-react";
|
|
3
|
+
import { useEditContext } from "../../client/editContext";
|
|
4
|
+
import { SimpleIconButton } from "../../ui/SimpleIconButton";
|
|
5
|
+
/**
|
|
6
|
+
* Switches the user's spell-check preference: the same setting as "Check
|
|
7
|
+
* spelling" under Settings > User Preferences, so both stay in sync.
|
|
8
|
+
*/
|
|
9
|
+
export function SpellCheckToggleControl() {
|
|
10
|
+
const editContext = useEditContext();
|
|
11
|
+
if (!editContext)
|
|
12
|
+
return null;
|
|
13
|
+
const enabled = editContext.userInfo?.preferences?.spellCheckEnabled !== false;
|
|
14
|
+
return (_jsx(SimpleIconButton, { icon: _jsx(SpellCheck, { className: "h-6 w-6 p-1", strokeWidth: 1 }), label: "Check spelling", size: "large", "data-testid": "toggle-spellcheck-button", selected: enabled, onClick: () => editContext.setUserPreferences({ spellCheckEnabled: !enabled }) }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=SpellCheckToggleControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpellCheckToggleControl.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/SpellCheckToggleControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,KAAK,KAAK,CAAC;IAE/E,OAAO,CACL,KAAC,gBAAgB,IACf,IAAI,EAAE,KAAC,UAAU,IAAC,SAAS,EAAC,aAAa,EAAC,WAAW,EAAE,CAAC,GAAI,EAC5D,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,iBACA,0BAA0B,EACtC,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,GAAG,EAAE,CACZ,WAAW,CAAC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC,GAEjE,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { EditContextType, EditorMode } from "./client/editContext";
|
|
2
|
+
/**
|
|
3
|
+
* What the phone layout shows below the canvas. One panel at a time: the
|
|
4
|
+
* edit form, the open sidebar stack, or the comments list. The rules are
|
|
5
|
+
* pure so the layout and the comments toggle cannot disagree.
|
|
6
|
+
*/
|
|
7
|
+
export type MobileBottomPanel = "form" | "sidebars" | "comments";
|
|
8
|
+
/** The open sidebars the mobile stack shows: left ones, plus the agents panel. */
|
|
9
|
+
export declare function getMobileSidebarStackIds(editContext: Pick<EditContextType, "openSidebars" | "getResolvedSidebar">, supportsSidebars: boolean): string[];
|
|
10
|
+
export type ResolveMobileBottomPanelInput = {
|
|
11
|
+
isEditorWorkspace: boolean;
|
|
12
|
+
formPanelOpen: boolean;
|
|
13
|
+
hasActiveSlot: boolean;
|
|
14
|
+
sidebarStackIds: readonly string[];
|
|
15
|
+
commentsPanelOpen: boolean;
|
|
16
|
+
hasItem: boolean;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Precedence: form > sidebars > comments. Opening one closes or covers the
|
|
20
|
+
* others; the comments panel stays "open" while the form covers it and
|
|
21
|
+
* returns when the form is closed. The form and the comments belong to the
|
|
22
|
+
* editor workspace; sidebars work in every workspace that supports them.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveMobileBottomPanel({ isEditorWorkspace, formPanelOpen, hasActiveSlot, sidebarStackIds, commentsPanelOpen, hasItem, }: ResolveMobileBottomPanelInput): MobileBottomPanel | null;
|
|
25
|
+
/**
|
|
26
|
+
* A tap on a component or field of the canvas opens the edit form on a
|
|
27
|
+
* phone, also when that component is already selected (the selection-driven
|
|
28
|
+
* auto-open only reacts to changes). Never outside edit mode: in suggestions
|
|
29
|
+
* mode the tap edits the field inline and the comments stay visible, and the
|
|
30
|
+
* form would be read-only anyway.
|
|
31
|
+
*/
|
|
32
|
+
export declare function shouldOpenMobileFormOnCanvasTap({ isMobile, workspaceId, mode, hasTarget, }: {
|
|
33
|
+
isMobile: boolean;
|
|
34
|
+
workspaceId: string;
|
|
35
|
+
mode: EditorMode;
|
|
36
|
+
hasTarget: boolean;
|
|
37
|
+
}): boolean;
|
|
38
|
+
export declare function getEditorHasItem(editContext: Pick<EditContextType, "getActiveSlotContext" | "item" | "page" | "currentItemDescriptor">): boolean;
|
|
39
|
+
/** The bottom panel the current context resolves to (null on desktop). */
|
|
40
|
+
export declare function useMobileBottomPanel(): MobileBottomPanel | null;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { useEditContext } from "./client/editContext";
|
|
2
|
+
/** The open sidebars the mobile stack shows: left ones, plus the agents panel. */
|
|
3
|
+
export function getMobileSidebarStackIds(editContext, supportsSidebars) {
|
|
4
|
+
if (!supportsSidebars)
|
|
5
|
+
return [];
|
|
6
|
+
return editContext.openSidebars.filter((id) => {
|
|
7
|
+
const resolved = editContext.getResolvedSidebar(id);
|
|
8
|
+
if (!resolved)
|
|
9
|
+
return false;
|
|
10
|
+
if (resolved.position === "left")
|
|
11
|
+
return true;
|
|
12
|
+
return id === "agents-panel";
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Precedence: form > sidebars > comments. Opening one closes or covers the
|
|
17
|
+
* others; the comments panel stays "open" while the form covers it and
|
|
18
|
+
* returns when the form is closed. The form and the comments belong to the
|
|
19
|
+
* editor workspace; sidebars work in every workspace that supports them.
|
|
20
|
+
*/
|
|
21
|
+
export function resolveMobileBottomPanel({ isEditorWorkspace, formPanelOpen, hasActiveSlot, sidebarStackIds, commentsPanelOpen, hasItem, }) {
|
|
22
|
+
if (isEditorWorkspace && formPanelOpen && hasActiveSlot)
|
|
23
|
+
return "form";
|
|
24
|
+
if (sidebarStackIds.length > 0)
|
|
25
|
+
return "sidebars";
|
|
26
|
+
if (isEditorWorkspace && commentsPanelOpen && hasItem)
|
|
27
|
+
return "comments";
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A tap on a component or field of the canvas opens the edit form on a
|
|
32
|
+
* phone, also when that component is already selected (the selection-driven
|
|
33
|
+
* auto-open only reacts to changes). Never outside edit mode: in suggestions
|
|
34
|
+
* mode the tap edits the field inline and the comments stay visible, and the
|
|
35
|
+
* form would be read-only anyway.
|
|
36
|
+
*/
|
|
37
|
+
export function shouldOpenMobileFormOnCanvasTap({ isMobile, workspaceId, mode, hasTarget, }) {
|
|
38
|
+
return isMobile && workspaceId === "editor" && mode === "edit" && hasTarget;
|
|
39
|
+
}
|
|
40
|
+
export function getEditorHasItem(editContext) {
|
|
41
|
+
const activeSlotContext = editContext.getActiveSlotContext?.();
|
|
42
|
+
// The edit context's page is the active slot's canvas page.
|
|
43
|
+
return Boolean(activeSlotContext?.item ??
|
|
44
|
+
editContext.item ??
|
|
45
|
+
editContext.page?.item ??
|
|
46
|
+
editContext.currentItemDescriptor);
|
|
47
|
+
}
|
|
48
|
+
/** The bottom panel the current context resolves to (null on desktop). */
|
|
49
|
+
export function useMobileBottomPanel() {
|
|
50
|
+
const editContext = useEditContext();
|
|
51
|
+
if (!editContext || !editContext.isMobile)
|
|
52
|
+
return null;
|
|
53
|
+
const workspace = editContext.configuration.editor.workspaces?.find((candidate) => candidate.id === editContext.workspaceId);
|
|
54
|
+
return resolveMobileBottomPanel({
|
|
55
|
+
isEditorWorkspace: editContext.workspaceId === "editor",
|
|
56
|
+
formPanelOpen: editContext.mobileEditorPanelOpen,
|
|
57
|
+
hasActiveSlot: !!editContext.getActiveSlotContext(),
|
|
58
|
+
sidebarStackIds: getMobileSidebarStackIds(editContext, !!workspace?.supportsSidebars),
|
|
59
|
+
commentsPanelOpen: editContext.mobileCommentsPanelOpen,
|
|
60
|
+
hasItem: getEditorHasItem(editContext),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=mobileBottomPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobileBottomPanel.js","sourceRoot":"","sources":["../../src/editor/mobileBottomPanel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CACtC,WAAyE,EACzE,gBAAyB;IAEzB,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9C,OAAO,EAAE,KAAK,cAAc,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,OAAO,GACuB;IAC9B,IAAI,iBAAiB,IAAI,aAAa,IAAI,aAAa;QAAE,OAAO,MAAM,CAAC;IACvE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAClD,IAAI,iBAAiB,IAAI,iBAAiB,IAAI,OAAO;QAAE,OAAO,UAAU,CAAC;IACzE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAC9C,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,SAAS,GAMV;IACC,OAAO,QAAQ,IAAI,WAAW,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,WAGC;IAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,EAAE,EAAE,CAAC;IAC/D,4DAA4D;IAC5D,OAAO,OAAO,CACZ,iBAAiB,EAAE,IAAI;QACvB,WAAW,CAAC,IAAI;QAChB,WAAW,CAAC,IAAI,EAAE,IAAI;QACtB,WAAW,CAAC,qBAAqB,CAClC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB;IAClC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CACjE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,WAAW,CAAC,WAAW,CACxD,CAAC;IACF,OAAO,wBAAwB,CAAC;QAC9B,iBAAiB,EAAE,WAAW,CAAC,WAAW,KAAK,QAAQ;QACvD,aAAa,EAAE,WAAW,CAAC,qBAAqB;QAChD,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,oBAAoB,EAAE;QACnD,eAAe,EAAE,wBAAwB,CACvC,WAAW,EACX,CAAC,CAAC,SAAS,EAAE,gBAAgB,CAC9B;QACD,iBAAiB,EAAE,WAAW,CAAC,uBAAuB;QACtD,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC;KACvC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type PageViewContext } from "../page-viewer/pageViewContext";
|
|
2
2
|
import type { VersionDiffVariant } from "../version-diff/versionDiffGeometryKeys";
|
|
3
|
-
import { type DiffHighlightRuler } from "./DiffHighlightOverlay";
|
|
4
3
|
export declare const AGENT_CHANGE_HIGHLIGHT_TEST_ID = "agent-change-highlight";
|
|
5
|
-
export declare const AGENT_CHANGE_RULER_TEST_ID = "agent-change-ruler";
|
|
6
4
|
export declare function getAgentChangeScope(variant: VersionDiffVariant): string;
|
|
7
5
|
type AgentChangeHighlightingsProps = {
|
|
8
6
|
pageViewContext: PageViewContext;
|
|
9
7
|
variant?: VersionDiffVariant;
|
|
10
|
-
/** Overview ruler geometry (minimap only). */
|
|
11
|
-
ruler?: Omit<DiffHighlightRuler, "testId">;
|
|
12
8
|
};
|
|
13
9
|
/**
|
|
14
10
|
* Marks everything the highlighted agent changed on the rendered page: added
|
|
15
11
|
* text ranges inside edited fields and boxes around components it introduced.
|
|
16
12
|
* Driven by editContext.agentChangeHighlighting (the terminal's "Changes" tray
|
|
17
13
|
* checkbox) and rendered through the same overlay as the compare highlights.
|
|
14
|
+
* On the canvas the changes are also marked on the overview ruler.
|
|
18
15
|
*/
|
|
19
|
-
export declare function AgentChangeHighlightings({ pageViewContext, variant,
|
|
16
|
+
export declare function AgentChangeHighlightings({ pageViewContext, variant, }: AgentChangeHighlightingsProps): import("react").JSX.Element;
|
|
20
17
|
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from "react";
|
|
3
3
|
import { useEditContext } from "../client/editContext";
|
|
4
|
+
import { usePageViewState, } from "../page-viewer/pageViewContext";
|
|
4
5
|
import { resolveAgentChangeTargets } from "../agent-changes/agentChangeTargets";
|
|
5
|
-
import { DiffHighlightOverlay
|
|
6
|
+
import { DiffHighlightOverlay } from "./DiffHighlightOverlay";
|
|
6
7
|
export const AGENT_CHANGE_HIGHLIGHT_TEST_ID = "agent-change-highlight";
|
|
7
|
-
export const AGENT_CHANGE_RULER_TEST_ID = "agent-change-ruler";
|
|
8
8
|
export function getAgentChangeScope(variant) {
|
|
9
9
|
return `agent-changes:${variant}`;
|
|
10
10
|
}
|
|
@@ -13,19 +13,21 @@ export function getAgentChangeScope(variant) {
|
|
|
13
13
|
* text ranges inside edited fields and boxes around components it introduced.
|
|
14
14
|
* Driven by editContext.agentChangeHighlighting (the terminal's "Changes" tray
|
|
15
15
|
* checkbox) and rendered through the same overlay as the compare highlights.
|
|
16
|
+
* On the canvas the changes are also marked on the overview ruler.
|
|
16
17
|
*/
|
|
17
|
-
export function AgentChangeHighlightings({ pageViewContext, variant = "default",
|
|
18
|
+
export function AgentChangeHighlightings({ pageViewContext, variant = "default", }) {
|
|
18
19
|
const editContext = useEditContext();
|
|
19
20
|
const highlighting = editContext?.agentChangeHighlighting;
|
|
20
21
|
const operations = highlighting?.operations;
|
|
21
|
-
const
|
|
22
|
-
const bridgeStructure = pageViewContext.bridgeStructure;
|
|
22
|
+
const page = usePageViewState(pageViewContext, (state) => state.page);
|
|
23
|
+
const bridgeStructure = usePageViewState(pageViewContext, (state) => state.bridgeStructure);
|
|
24
|
+
const pageItem = page?.item.descriptor;
|
|
23
25
|
const resolved = useMemo(() => {
|
|
24
26
|
if (!operations || !pageItem) {
|
|
25
27
|
return { fieldTargets: [], componentTargets: [] };
|
|
26
28
|
}
|
|
27
29
|
return resolveAgentChangeTargets({ operations, bridgeStructure, pageItem });
|
|
28
30
|
}, [operations, bridgeStructure, pageItem]);
|
|
29
|
-
return (_jsx(DiffHighlightOverlay, { pageViewContext: pageViewContext, variant: variant, scope: getAgentChangeScope(variant), targets: resolved.fieldTargets, componentTargets: resolved.componentTargets, testId: AGENT_CHANGE_HIGHLIGHT_TEST_ID,
|
|
31
|
+
return (_jsx(DiffHighlightOverlay, { pageViewContext: pageViewContext, variant: variant, scope: getAgentChangeScope(variant), targets: resolved.fieldTargets, componentTargets: resolved.componentTargets, testId: AGENT_CHANGE_HIGHLIGHT_TEST_ID, rulerSource: variant === "default" ? "agent-changes" : undefined }));
|
|
30
32
|
}
|
|
31
33
|
//# sourceMappingURL=AgentChangeHighlightings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentChangeHighlightings.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/AgentChangeHighlightings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentChangeHighlightings.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/AgentChangeHighlightings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,gBAAgB,GAEjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;AAEvE,MAAM,UAAU,mBAAmB,CAAC,OAA2B;IAC7D,OAAO,iBAAiB,OAAO,EAAE,CAAC;AACpC,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,eAAe,EACf,OAAO,GAAG,SAAS,GACW;IAC9B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,EAAE,uBAAuB,CAAC;IAC1D,MAAM,UAAU,GAAG,YAAY,EAAE,UAAU,CAAC;IAC5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,gBAAgB,CACtC,eAAe,EACf,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CACjC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;IAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,yBAAyB,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5C,OAAO,CACL,KAAC,oBAAoB,IACnB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACnC,OAAO,EAAE,QAAQ,CAAC,YAAY,EAC9B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAC3C,MAAM,EAAE,8BAA8B,EACtC,WAAW,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,GAChE,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PasteCleanupCommandPayload, PasteCleanupMenu } from "../bridge/protocol";
|
|
2
|
+
export declare function BridgePasteCleanupOverlay({ iframe, menu, onCommand, }: {
|
|
3
|
+
iframe: HTMLIFrameElement | null;
|
|
4
|
+
menu: PasteCleanupMenu;
|
|
5
|
+
onCommand: (payload: PasteCleanupCommandPayload) => void;
|
|
6
|
+
}): import("react").ReactPortal | null;
|