@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,31 @@
|
|
|
1
|
+
import { Editor, Element, type Descendant, type Point } from "slate";
|
|
2
|
+
/**
|
|
3
|
+
* Spell-check text of a Slate document. Unlike `getNodesText` (which joins
|
|
4
|
+
* every text node without separators), a newline is inserted when entering and
|
|
5
|
+
* when leaving a block element and for every line break, so words in
|
|
6
|
+
* different blocks never join while adjacent inline formatting still does.
|
|
7
|
+
*
|
|
8
|
+
* `starts` maps every text node (by its path key) to its offset in `text`, so
|
|
9
|
+
* server offsets map onto Slate points without arithmetic. `separators` lists
|
|
10
|
+
* the offsets of the inserted newlines.
|
|
11
|
+
*/
|
|
12
|
+
export type SpellCheckText = {
|
|
13
|
+
text: string;
|
|
14
|
+
starts: Map<string, number>;
|
|
15
|
+
separators: number[];
|
|
16
|
+
};
|
|
17
|
+
export type SpellCheckTextOptions = {
|
|
18
|
+
/** Whether an element is inline (part of the surrounding text). */
|
|
19
|
+
isInline?: (element: Element) => boolean;
|
|
20
|
+
};
|
|
21
|
+
export declare function buildSpellCheckText(nodes: Descendant[], options?: SpellCheckTextOptions): SpellCheckText;
|
|
22
|
+
/**
|
|
23
|
+
* The Slate point at `offset` of a {@link SpellCheckText}. Offsets that fall
|
|
24
|
+
* on a separator resolve to the end of the preceding text node; offsets past
|
|
25
|
+
* the end resolve to the end of the document.
|
|
26
|
+
*/
|
|
27
|
+
export declare function pointAtSpellTextOffset(editor: Editor, starts: Map<string, number>, offset: number): Point;
|
|
28
|
+
/** Text of a text node by path key; used by tests and hit testing. */
|
|
29
|
+
export declare function spellTextNodeText(nodes: Descendant[], pathKey: string): string | undefined;
|
|
30
|
+
/** Length of the common prefix of two strings, in UTF-16 code units. */
|
|
31
|
+
export declare function commonPrefixLength(a: string, b: string): number;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Editor, Element, Node, Text, } from "slate";
|
|
2
|
+
const DEFAULT_INLINE_TYPES = new Set(["link", "preserved-inline"]);
|
|
3
|
+
const LINE_BREAK_TYPES = new Set(["line-break"]);
|
|
4
|
+
function defaultIsInline(element) {
|
|
5
|
+
const type = element.type ?? "";
|
|
6
|
+
return DEFAULT_INLINE_TYPES.has(type) || LINE_BREAK_TYPES.has(type);
|
|
7
|
+
}
|
|
8
|
+
function isLineBreak(element) {
|
|
9
|
+
return LINE_BREAK_TYPES.has(element.type ?? "");
|
|
10
|
+
}
|
|
11
|
+
export function buildSpellCheckText(nodes, options) {
|
|
12
|
+
const isInline = options?.isInline ?? defaultIsInline;
|
|
13
|
+
const starts = new Map();
|
|
14
|
+
const separators = [];
|
|
15
|
+
let text = "";
|
|
16
|
+
const separator = () => {
|
|
17
|
+
separators.push(text.length);
|
|
18
|
+
text += "\n";
|
|
19
|
+
};
|
|
20
|
+
const walk = (node, path) => {
|
|
21
|
+
if (Text.isText(node)) {
|
|
22
|
+
starts.set(path.join("."), text.length);
|
|
23
|
+
text += node.text;
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (!Element.isElement(node))
|
|
27
|
+
return;
|
|
28
|
+
if (isLineBreak(node)) {
|
|
29
|
+
separator();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const block = !isInline(node);
|
|
33
|
+
if (block)
|
|
34
|
+
separator();
|
|
35
|
+
node.children.forEach((child, index) => walk(child, [...path, index]));
|
|
36
|
+
if (block)
|
|
37
|
+
separator();
|
|
38
|
+
};
|
|
39
|
+
nodes.forEach((node, index) => walk(node, [index]));
|
|
40
|
+
return { text, starts, separators };
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The Slate point at `offset` of a {@link SpellCheckText}. Offsets that fall
|
|
44
|
+
* on a separator resolve to the end of the preceding text node; offsets past
|
|
45
|
+
* the end resolve to the end of the document.
|
|
46
|
+
*/
|
|
47
|
+
export function pointAtSpellTextOffset(editor, starts, offset) {
|
|
48
|
+
let best = null;
|
|
49
|
+
let bestStart = -1;
|
|
50
|
+
for (const [node, path] of Editor.nodes(editor, {
|
|
51
|
+
at: [],
|
|
52
|
+
match: Text.isText,
|
|
53
|
+
})) {
|
|
54
|
+
const start = starts.get(path.join("."));
|
|
55
|
+
if (start === undefined)
|
|
56
|
+
continue;
|
|
57
|
+
const end = start + node.text.length;
|
|
58
|
+
if (offset >= start && offset <= end) {
|
|
59
|
+
return { path, offset: offset - start };
|
|
60
|
+
}
|
|
61
|
+
if (start < offset && start >= bestStart) {
|
|
62
|
+
bestStart = start;
|
|
63
|
+
best = { path, offset: node.text.length };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return best ?? Editor.end(editor, []);
|
|
67
|
+
}
|
|
68
|
+
/** Text of a text node by path key; used by tests and hit testing. */
|
|
69
|
+
export function spellTextNodeText(nodes, pathKey) {
|
|
70
|
+
const path = pathKey.split(".").map(Number);
|
|
71
|
+
const node = Node.get({ children: nodes }, path);
|
|
72
|
+
return Text.isText(node) ? node.text : undefined;
|
|
73
|
+
}
|
|
74
|
+
/** Length of the common prefix of two strings, in UTF-16 code units. */
|
|
75
|
+
export function commonPrefixLength(a, b) {
|
|
76
|
+
const max = Math.min(a.length, b.length);
|
|
77
|
+
let index = 0;
|
|
78
|
+
while (index < max && a.charCodeAt(index) === b.charCodeAt(index))
|
|
79
|
+
index++;
|
|
80
|
+
return index;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=spellCheckText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spellCheckText.js","sourceRoot":"","sources":["../../../../../src/editor/field-types/richtext/utils/spellCheckText.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
import type { Field } from "../pageModel";
|
|
3
|
+
/** How long a focus request waits for the form to render the field. */
|
|
4
|
+
export declare const FOCUSED_FIELD_INPUT_DELAY_MS = 500;
|
|
5
|
+
/**
|
|
6
|
+
* Moves the focus into the control when the editor focuses its field from
|
|
7
|
+
* elsewhere (the canvas, a command), once nothing else holds the focus.
|
|
8
|
+
*
|
|
9
|
+
* The request is satisfied as soon as the control has had the focus, so a
|
|
10
|
+
* field the user clicked and then left (the comment picker blurs it, a
|
|
11
|
+
* submitted composer unmounts) does not take the focus back later.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useFocusedFieldInput(field: Field, inputRef: RefObject<HTMLInputElement | HTMLTextAreaElement | null>): void;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { useFieldsEditContextRef } from "../client/editContext";
|
|
3
|
+
/** How long a focus request waits for the form to render the field. */
|
|
4
|
+
export const FOCUSED_FIELD_INPUT_DELAY_MS = 500;
|
|
5
|
+
/**
|
|
6
|
+
* Moves the focus into the control when the editor focuses its field from
|
|
7
|
+
* elsewhere (the canvas, a command), once nothing else holds the focus.
|
|
8
|
+
*
|
|
9
|
+
* The request is satisfied as soon as the control has had the focus, so a
|
|
10
|
+
* field the user clicked and then left (the comment picker blurs it, a
|
|
11
|
+
* submitted composer unmounts) does not take the focus back later.
|
|
12
|
+
*/
|
|
13
|
+
export function useFocusedFieldInput(field, inputRef) {
|
|
14
|
+
const fieldsContextRef = useFieldsEditContextRef();
|
|
15
|
+
const focusedField = fieldsContextRef.current?.focusedField;
|
|
16
|
+
const fieldItem = field.descriptor.item;
|
|
17
|
+
const isFocusedField = (candidate) => candidate?.fieldId === field.id &&
|
|
18
|
+
candidate?.item.id === fieldItem.id &&
|
|
19
|
+
candidate?.item.language === fieldItem.language &&
|
|
20
|
+
candidate?.item.version === fieldItem.version;
|
|
21
|
+
const requested = isFocusedField(focusedField);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const input = inputRef.current;
|
|
24
|
+
if (!requested || !input || document.activeElement === input)
|
|
25
|
+
return;
|
|
26
|
+
let focusedSince = false;
|
|
27
|
+
const markFocused = () => {
|
|
28
|
+
focusedSince = true;
|
|
29
|
+
};
|
|
30
|
+
input.addEventListener("focus", markFocused);
|
|
31
|
+
const timer = window.setTimeout(() => {
|
|
32
|
+
input.removeEventListener("focus", markFocused);
|
|
33
|
+
if (focusedSince ||
|
|
34
|
+
!input.isConnected ||
|
|
35
|
+
!isFocusedField(fieldsContextRef.current?.focusedField))
|
|
36
|
+
return;
|
|
37
|
+
// Only focus if no other element currently has focus (e.g., popover buttons)
|
|
38
|
+
if (!document.activeElement || document.activeElement === document.body) {
|
|
39
|
+
input.focus();
|
|
40
|
+
}
|
|
41
|
+
}, FOCUSED_FIELD_INPUT_DELAY_MS);
|
|
42
|
+
return () => {
|
|
43
|
+
window.clearTimeout(timer);
|
|
44
|
+
input.removeEventListener("focus", markFocused);
|
|
45
|
+
};
|
|
46
|
+
// A new request per focusedField change, as before.
|
|
47
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48
|
+
}, [focusedField, requested]);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=useFocusedFieldInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusedFieldInput.js","sourceRoot":"","sources":["../../../src/editor/field-types/useFocusedFieldInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,uEAAuE;AACvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAY,EACZ,QAAkE;IAElE,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IACxC,MAAM,cAAc,GAAG,CAAC,SAA8B,EAAE,EAAE,CACxD,SAAS,EAAE,OAAO,KAAK,KAAK,CAAC,EAAE;QAC/B,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE;QACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;QAC/C,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC;IAChD,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK;YAAE,OAAO;QAErE,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC;QACF,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACnC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAChD,IACE,YAAY;gBACZ,CAAC,KAAK,CAAC,WAAW;gBAClB,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC;gBAEvD,OAAO;YACT,6EAA6E;YAC7E,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxE,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,oDAAoD;QACpD,uDAAuD;IACzD,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { RefObject } from "react";
|
|
2
|
+
import { type SelectionRange } from "../client/editContext";
|
|
3
|
+
import type { Field } from "../pageModel";
|
|
4
|
+
type TextFormControl = HTMLInputElement | HTMLTextAreaElement;
|
|
5
|
+
/**
|
|
6
|
+
* How long the caret has to rest before a caret-only selection is recorded
|
|
7
|
+
* in the edit context.
|
|
8
|
+
*
|
|
9
|
+
* Carets used to be published as `selectedRange` state, which replaces the
|
|
10
|
+
* (memoized) edit context value and re-renders every consumer in the editor.
|
|
11
|
+
* Doing that on every keystroke is what let React's nested-update guard trip
|
|
12
|
+
* during fast typing: the caret commits kept a Default-priority re-render
|
|
13
|
+
* pending across dozens of synchronous keystroke commits, React threw
|
|
14
|
+
* "Maximum update depth exceeded" from the text field's own setState, and
|
|
15
|
+
* restored the stale value (dropping the typed character and moving the caret
|
|
16
|
+
* to the end). Carets now go through `setCaretRange`, which does not render;
|
|
17
|
+
* the settle delay still spares building a range per keystroke.
|
|
18
|
+
*/
|
|
19
|
+
export declare const SELECTION_RANGE_SETTLE_MS = 200;
|
|
20
|
+
/**
|
|
21
|
+
* Publishes the native selection of a form text control as the edit
|
|
22
|
+
* context's `selectedRange`.
|
|
23
|
+
*
|
|
24
|
+
* Text selections (used by the inline AI trigger) are published at once and
|
|
25
|
+
* re-render their consumers. Caret-only positions are recorded with
|
|
26
|
+
* `setCaretRange` once typing settles: consumers read them when they act
|
|
27
|
+
* (insert at cursor, the inline AI dialog), so focusing a field or pausing
|
|
28
|
+
* while typing does not re-render the editor. Ranges are read from the live
|
|
29
|
+
* control, so the range and its `replaceText` callback always describe the
|
|
30
|
+
* current value.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useFormFieldSelectionRange({ field, inputRef, setValue, updateFieldValue, }: {
|
|
33
|
+
field: Field;
|
|
34
|
+
inputRef: RefObject<TextFormControl | null>;
|
|
35
|
+
setValue: (value: string) => void;
|
|
36
|
+
updateFieldValue: (value: string) => void;
|
|
37
|
+
}): {
|
|
38
|
+
scheduleSelectionRange: (target: TextFormControl) => void;
|
|
39
|
+
flushSelectionRange: () => void;
|
|
40
|
+
cancelPendingSelectionRange: () => void;
|
|
41
|
+
externalSelectedRange: SelectionRange | undefined;
|
|
42
|
+
};
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
2
|
+
import { useEditContextRef } from "../client/editContext";
|
|
3
|
+
import { useSelectedRange } from "../client/liveEditState";
|
|
4
|
+
import { cleanId } from "../utils/id-helper";
|
|
5
|
+
import { extractPlainTextContext } from "../utils/selectionContext";
|
|
6
|
+
import { logFieldValueDiagnostic, summarizeField, summarizeFieldValue, } from "../fieldValueDiagnostics";
|
|
7
|
+
/**
|
|
8
|
+
* How long the caret has to rest before a caret-only selection is recorded
|
|
9
|
+
* in the edit context.
|
|
10
|
+
*
|
|
11
|
+
* Carets used to be published as `selectedRange` state, which replaces the
|
|
12
|
+
* (memoized) edit context value and re-renders every consumer in the editor.
|
|
13
|
+
* Doing that on every keystroke is what let React's nested-update guard trip
|
|
14
|
+
* during fast typing: the caret commits kept a Default-priority re-render
|
|
15
|
+
* pending across dozens of synchronous keystroke commits, React threw
|
|
16
|
+
* "Maximum update depth exceeded" from the text field's own setState, and
|
|
17
|
+
* restored the stale value (dropping the typed character and moving the caret
|
|
18
|
+
* to the end). Carets now go through `setCaretRange`, which does not render;
|
|
19
|
+
* the settle delay still spares building a range per keystroke.
|
|
20
|
+
*/
|
|
21
|
+
export const SELECTION_RANGE_SETTLE_MS = 200;
|
|
22
|
+
/**
|
|
23
|
+
* Publishes the native selection of a form text control as the edit
|
|
24
|
+
* context's `selectedRange`.
|
|
25
|
+
*
|
|
26
|
+
* Text selections (used by the inline AI trigger) are published at once and
|
|
27
|
+
* re-render their consumers. Caret-only positions are recorded with
|
|
28
|
+
* `setCaretRange` once typing settles: consumers read them when they act
|
|
29
|
+
* (insert at cursor, the inline AI dialog), so focusing a field or pausing
|
|
30
|
+
* while typing does not re-render the editor. Ranges are read from the live
|
|
31
|
+
* control, so the range and its `replaceText` callback always describe the
|
|
32
|
+
* current value.
|
|
33
|
+
*/
|
|
34
|
+
export function useFormFieldSelectionRange({ field, inputRef, setValue, updateFieldValue, }) {
|
|
35
|
+
const editContextRef = useEditContextRef();
|
|
36
|
+
const settleTimerRef = useRef(null);
|
|
37
|
+
// Context renders can commit after further native caret movement. Published
|
|
38
|
+
// ranges describe what the control already did; they are not restore commands.
|
|
39
|
+
const publishedRangesRef = useRef(new WeakSet());
|
|
40
|
+
const updateFieldValueRef = useRef(updateFieldValue);
|
|
41
|
+
updateFieldValueRef.current = updateFieldValue;
|
|
42
|
+
const setValueRef = useRef(setValue);
|
|
43
|
+
setValueRef.current = setValue;
|
|
44
|
+
const fieldRef = useRef(field);
|
|
45
|
+
fieldRef.current = field;
|
|
46
|
+
// A selection of this field published elsewhere (the canvas, the inline AI
|
|
47
|
+
// word expansion), for the control to mirror; never one of its own. Only
|
|
48
|
+
// these re-render this field, not every selection in the editor.
|
|
49
|
+
const externalSelectedRange = useSelectedRange({
|
|
50
|
+
select: (range) => range &&
|
|
51
|
+
!publishedRangesRef.current.has(range) &&
|
|
52
|
+
cleanId(range.fieldId) === cleanId(field.id) &&
|
|
53
|
+
cleanId(range.itemId) === cleanId(field.descriptor.item?.id)
|
|
54
|
+
? range
|
|
55
|
+
: undefined,
|
|
56
|
+
});
|
|
57
|
+
const cancelPendingSelectionRange = useCallback(() => {
|
|
58
|
+
if (settleTimerRef.current != null) {
|
|
59
|
+
window.clearTimeout(settleTimerRef.current);
|
|
60
|
+
settleTimerRef.current = null;
|
|
61
|
+
}
|
|
62
|
+
}, []);
|
|
63
|
+
const createReplaceTextCallback = useCallback((currentValue, startOffset, endOffset) => {
|
|
64
|
+
return (newText) => {
|
|
65
|
+
// If startOffset === endOffset, there's no selection - insert at cursor
|
|
66
|
+
const newValue = currentValue.slice(0, startOffset) +
|
|
67
|
+
newText +
|
|
68
|
+
currentValue.slice(endOffset);
|
|
69
|
+
logFieldValueDiagnostic("text-field", "replace selected text", {
|
|
70
|
+
field: summarizeField(fieldRef.current),
|
|
71
|
+
currentValue: summarizeFieldValue(currentValue),
|
|
72
|
+
replacement: summarizeFieldValue(newText),
|
|
73
|
+
nextValue: summarizeFieldValue(newValue),
|
|
74
|
+
startOffset,
|
|
75
|
+
endOffset,
|
|
76
|
+
});
|
|
77
|
+
setValueRef.current(newValue);
|
|
78
|
+
updateFieldValueRef.current(newValue);
|
|
79
|
+
};
|
|
80
|
+
}, []);
|
|
81
|
+
const publishSelectionRange = useCallback((target) => {
|
|
82
|
+
cancelPendingSelectionRange();
|
|
83
|
+
const editor = editContextRef.current;
|
|
84
|
+
const currentField = fieldRef.current;
|
|
85
|
+
const fieldItem = currentField.descriptor.item;
|
|
86
|
+
if (!editor || !fieldItem)
|
|
87
|
+
return;
|
|
88
|
+
const startOffset = target.selectionStart || 0;
|
|
89
|
+
const endOffset = target.selectionEnd || 0;
|
|
90
|
+
const selectedText = target.value.slice(startOffset, endOffset);
|
|
91
|
+
const { contextBefore, contextAfter } = extractPlainTextContext(target.value, startOffset, endOffset);
|
|
92
|
+
// Always publish the range, even if empty (cursor position tracking).
|
|
93
|
+
const range = {
|
|
94
|
+
itemId: fieldItem.id,
|
|
95
|
+
fieldId: currentField.id,
|
|
96
|
+
language: fieldItem.language,
|
|
97
|
+
version: fieldItem.version,
|
|
98
|
+
startOffset,
|
|
99
|
+
endOffset,
|
|
100
|
+
text: selectedText, // Empty string if no selection
|
|
101
|
+
element: target, // Element reference for AI trigger positioning
|
|
102
|
+
contextBefore,
|
|
103
|
+
contextAfter,
|
|
104
|
+
replaceText: createReplaceTextCallback(target.value, startOffset, endOffset),
|
|
105
|
+
};
|
|
106
|
+
const currentRange = editor.selectedRange;
|
|
107
|
+
if (range.text !== currentRange?.text ||
|
|
108
|
+
range.startOffset !== currentRange?.startOffset ||
|
|
109
|
+
range.endOffset !== currentRange?.endOffset ||
|
|
110
|
+
range.fieldId !== currentRange?.fieldId ||
|
|
111
|
+
range.itemId !== currentRange?.itemId) {
|
|
112
|
+
publishedRangesRef.current.add(range);
|
|
113
|
+
if (startOffset === endOffset)
|
|
114
|
+
editor.setCaretRange(range);
|
|
115
|
+
else
|
|
116
|
+
editor.setSelectedRange(range);
|
|
117
|
+
}
|
|
118
|
+
}, [cancelPendingSelectionRange, createReplaceTextCallback, editContextRef]);
|
|
119
|
+
const scheduleSelectionRange = useCallback((target) => {
|
|
120
|
+
const collapsed = (target.selectionStart ?? 0) === (target.selectionEnd ?? 0);
|
|
121
|
+
if (!collapsed) {
|
|
122
|
+
publishSelectionRange(target);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
cancelPendingSelectionRange();
|
|
126
|
+
settleTimerRef.current = window.setTimeout(() => {
|
|
127
|
+
settleTimerRef.current = null;
|
|
128
|
+
if (inputRef.current === target)
|
|
129
|
+
publishSelectionRange(target);
|
|
130
|
+
}, SELECTION_RANGE_SETTLE_MS);
|
|
131
|
+
}, [cancelPendingSelectionRange, inputRef, publishSelectionRange]);
|
|
132
|
+
/** Publishes a deferred caret position right away (before it is consumed). */
|
|
133
|
+
const flushSelectionRange = useCallback(() => {
|
|
134
|
+
if (settleTimerRef.current == null)
|
|
135
|
+
return;
|
|
136
|
+
cancelPendingSelectionRange();
|
|
137
|
+
const target = inputRef.current;
|
|
138
|
+
if (target)
|
|
139
|
+
publishSelectionRange(target);
|
|
140
|
+
}, [cancelPendingSelectionRange, inputRef, publishSelectionRange]);
|
|
141
|
+
useEffect(() => cancelPendingSelectionRange, [cancelPendingSelectionRange]);
|
|
142
|
+
return {
|
|
143
|
+
scheduleSelectionRange,
|
|
144
|
+
flushSelectionRange,
|
|
145
|
+
cancelPendingSelectionRange,
|
|
146
|
+
externalSelectedRange,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=useFormFieldSelectionRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormFieldSelectionRange.js","sourceRoot":"","sources":["../../../src/editor/field-types/useFormFieldSelectionRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EditContextType } from "../client/editContext";
|
|
2
|
+
/**
|
|
3
|
+
* Content of the "Find and replace" popover: searches every text field of the
|
|
4
|
+
* current item (or of every item on the page), highlights the matches on the
|
|
5
|
+
* canvas through the shared store, steps through them, and replaces one or
|
|
6
|
+
* all of them through the regular field-edit path.
|
|
7
|
+
*/
|
|
8
|
+
export declare function FindReplacePanel({ editContext, onClose, }: {
|
|
9
|
+
editContext: EditContextType;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
}): import("react").JSX.Element;
|