@parhelia/core 0.4.12800 → 0.4.12818
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -0
- package/dist/agents-view/AgentsWorkspaceView.js +12 -3
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/components/WorkspaceHomeView.d.ts +14 -3
- package/dist/components/WorkspaceHomeView.js +7 -4
- package/dist/components/WorkspaceHomeView.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +7 -1
- package/dist/components/ui/dialog.js +6 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.js +40 -6
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts +2 -2
- package/dist/components/ui/tooltip.js +9 -4
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/config/config.js +2 -2
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ConfirmationDialog.d.ts +1 -0
- package/dist/editor/ConfirmationDialog.js +9 -2
- package/dist/editor/ConfirmationDialog.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +9 -1
- package/dist/editor/ContentTree.js +50 -23
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldList.js +41 -4
- package/dist/editor/FieldList.js.map +1 -1
- package/dist/editor/FieldListField.js +156 -123
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/LinkEditorDialog.d.ts +3 -0
- package/dist/editor/LinkEditorDialog.js +9 -4
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +9 -2
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/SetupWizard.js +1 -1
- package/dist/editor/SetupWizard.js.map +1 -1
- package/dist/editor/UsedBy.d.ts +2 -0
- package/dist/editor/UsedBy.js +50 -10
- package/dist/editor/UsedBy.js.map +1 -1
- package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
- package/dist/editor/agent-changes/agentChangeTargets.js +174 -0
- package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +57 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js +109 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
- package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
- package/dist/editor/ai/AgentImagePreview.js +41 -0
- package/dist/editor/ai/AgentImagePreview.js.map +1 -0
- package/dist/editor/ai/ContentInspectorPopover.d.ts +2 -1
- package/dist/editor/ai/ContentInspectorPopover.js +3 -3
- package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
- package/dist/editor/ai/MediaImage.js +2 -1
- package/dist/editor/ai/MediaImage.js.map +1 -1
- package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
- package/dist/editor/ai/activityRowNavigation.js +53 -0
- package/dist/editor/ai/activityRowNavigation.js.map +1 -0
- package/dist/editor/ai/agentMessageGrouping.d.ts +1 -1
- package/dist/editor/ai/agentMessageGrouping.js +2 -13
- package/dist/editor/ai/agentMessageGrouping.js.map +1 -1
- package/dist/editor/ai/agentMessageHelpers.js +21 -1
- package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSelectors.js +0 -4
- package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -2
- package/dist/editor/ai/terminal/agentSessionState.js +8 -12
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
- package/dist/editor/ai/terminal/agentTurnTiming.d.ts +2 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js +26 -1
- package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +48 -6
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +6 -5
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +20 -10
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +12 -9
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +3 -71
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +2 -2
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +9 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -6
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +8 -2
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +6 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -3
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +12 -9
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +15 -4
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +2 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +22 -54
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
- package/dist/editor/ai/terminal/components/UserMessage.js +17 -4
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.d.ts +2 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +6 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +51 -14
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentProviderWait.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +3 -3
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +14 -10
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +6 -7
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +23 -16
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -2
- package/dist/editor/ai/terminal/useAgentSession.js +8 -15
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js +2 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +3 -3
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +0 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +3 -12
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +18 -5
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +9 -10
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
- package/dist/editor/bridge/bridgeKeys.js +8 -0
- package/dist/editor/bridge/bridgeKeys.js.map +1 -0
- package/dist/editor/bridge/linkDownload.d.ts +3 -0
- package/dist/editor/bridge/linkDownload.js +52 -0
- package/dist/editor/bridge/linkDownload.js.map +1 -0
- package/dist/editor/bridge/protocol.d.ts +34 -0
- package/dist/editor/bridge/protocol.js +3 -1
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +30 -21
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/OperationDialogContent.d.ts +10 -3
- package/dist/editor/client/OperationDialogContent.js +27 -4
- package/dist/editor/client/OperationDialogContent.js.map +1 -1
- package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
- package/dist/editor/client/agentLoadItemPolicy.js +60 -0
- package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
- package/dist/editor/client/editContext.d.ts +16 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +5 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +53 -13
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/itemsRepository.js +26 -7
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/localUserEditActivity.d.ts +3 -0
- package/dist/editor/client/localUserEditActivity.js +12 -0
- package/dist/editor/client/localUserEditActivity.js.map +1 -0
- package/dist/editor/client/operations.js +26 -13
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/commands/undo.js +8 -2
- package/dist/editor/commands/undo.js.map +1 -1
- package/dist/editor/componentVisualMode.d.ts +14 -0
- package/dist/editor/componentVisualMode.js +43 -0
- package/dist/editor/componentVisualMode.js.map +1 -0
- package/dist/editor/field-types/ImageFieldEditor.js +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +29 -46
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +9 -2
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +28 -79
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.js +59 -8
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/types.d.ts +7 -0
- package/dist/editor/field-types/richtext/types.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +18 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js +57 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +11 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js +32 -16
- package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
- package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +36 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js +123 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
- package/dist/editor/field-types/useTextCompletion.js +13 -3
- package/dist/editor/field-types/useTextCompletion.js.map +1 -1
- package/dist/editor/media-selector/AiImageSearchPrompt.d.ts +2 -1
- package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
- package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
- package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
- package/dist/editor/media-selector/Thumbnails.js +2 -2
- package/dist/editor/media-selector/Thumbnails.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +142 -42
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/media-selector/UploadZone.d.ts +6 -1
- package/dist/editor/media-selector/UploadZone.js +10 -7
- package/dist/editor/media-selector/UploadZone.js.map +1 -1
- package/dist/editor/media-selector/mediaFileType.d.ts +2 -0
- package/dist/editor/media-selector/mediaFileType.js +37 -0
- package/dist/editor/media-selector/mediaFileType.js.map +1 -1
- package/dist/editor/menubar/GenericToolbar.d.ts +2 -1
- package/dist/editor/menubar/GenericToolbar.js +2 -2
- package/dist/editor/menubar/GenericToolbar.js.map +1 -1
- package/dist/editor/menubar/ToolbarFactory.js +1 -1
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +10 -3
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +6 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/notifications/WatchButton.js +11 -4
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +20 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +31 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +33 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +290 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +27 -10
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +6 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +53 -6
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +2 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +14 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +59 -13
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +6 -271
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +15 -2
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +2 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +58 -5
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/DeviceToolbar.js +53 -10
- package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.js +22 -24
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +204 -27
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.js +1 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
- package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
- package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
- package/dist/editor/page-viewer/pageViewContext.d.ts +2 -1
- package/dist/editor/page-viewer/pageViewContext.js +10 -4
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/pageModel.d.ts +2 -0
- package/dist/editor/reviews/Comment.js +13 -12
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +25 -29
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.js +47 -13
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentQuote.d.ts +4 -0
- package/dist/editor/reviews/CommentQuote.js +30 -0
- package/dist/editor/reviews/CommentQuote.js.map +1 -0
- package/dist/editor/reviews/CommentThreadAgentLink.d.ts +23 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
- package/dist/editor/reviews/CommentView.d.ts +2 -3
- package/dist/editor/reviews/CommentView.js +17 -14
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/Comments.js +14 -5
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/MentionText.d.ts +5 -1
- package/dist/editor/reviews/MentionText.js +23 -0
- package/dist/editor/reviews/MentionText.js.map +1 -1
- package/dist/editor/reviews/ReviewCard.js +14 -8
- package/dist/editor/reviews/ReviewCard.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +7 -2
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +75 -15
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionCommentThread.js +5 -4
- package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
- package/dist/editor/reviews/commentAi.d.ts +27 -3
- package/dist/editor/reviews/commentAi.js +109 -28
- package/dist/editor/reviews/commentAi.js.map +1 -1
- package/dist/editor/reviews/commentImages.d.ts +49 -0
- package/dist/editor/reviews/commentImages.js +164 -0
- package/dist/editor/reviews/commentImages.js.map +1 -0
- package/dist/editor/reviews/feedbackAvatar.js +11 -5
- package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
- package/dist/editor/reviews/feedbackCommentRules.d.ts +1 -1
- package/dist/editor/reviews/feedbackCommentRules.js +3 -9
- package/dist/editor/reviews/feedbackCommentRules.js.map +1 -1
- package/dist/editor/reviews/feedbackSelection.d.ts +13 -0
- package/dist/editor/reviews/feedbackSelection.js +37 -0
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/suggestionDisplayValue.d.ts +24 -2
- package/dist/editor/reviews/suggestionDisplayValue.js +28 -4
- package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
- package/dist/editor/reviews/useCommentImagePaste.d.ts +45 -0
- package/dist/editor/reviews/useCommentImagePaste.js +149 -0
- package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
- package/dist/editor/services/agentErrorMessage.js +5 -1
- package/dist/editor/services/agentErrorMessage.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +12 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +2 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +17 -2
- package/dist/editor/services/editService.js +7 -2
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/searchService.d.ts +2 -1
- package/dist/editor/services/searchService.js +2 -1
- package/dist/editor/services/searchService.js.map +1 -1
- package/dist/editor/services/userResolution.js +6 -5
- package/dist/editor/services/userResolution.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +12 -4
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +38 -22
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/EditHistory.js +2 -2
- package/dist/editor/sidebar/EditHistory.js.map +1 -1
- package/dist/editor/sidebar/MainContentTree.js +1 -1
- package/dist/editor/sidebar/MainContentTree.js.map +1 -1
- package/dist/editor/sidebar/MorePanelsButton.js +2 -2
- package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelMenuItem.js +2 -2
- package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
- package/dist/editor/sidebar/Validation.js +38 -44
- package/dist/editor/sidebar/Validation.js.map +1 -1
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +62 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js +215 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
- package/dist/editor/ui/ItemCollectionEditor.d.ts +17 -1
- package/dist/editor/ui/ItemCollectionEditor.js +17 -5
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/ItemList.d.ts +5 -0
- package/dist/editor/ui/ItemList.js +10 -2
- package/dist/editor/ui/ItemList.js.map +1 -1
- package/dist/editor/ui/ItemSearch.d.ts +7 -0
- package/dist/editor/ui/ItemSearch.js +14 -6
- package/dist/editor/ui/ItemSearch.js.map +1 -1
- package/dist/editor/ui/PublishDialog.js +3 -2
- package/dist/editor/ui/PublishDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.js +58 -3
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.d.ts +15 -0
- package/dist/editor/ui/Splitter.js +77 -100
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TreeListSelector.d.ts +15 -1
- package/dist/editor/ui/TreeListSelector.js +2 -2
- package/dist/editor/ui/TreeListSelector.js.map +1 -1
- package/dist/editor/ui/WorkboxItemsTable.d.ts +6 -1
- package/dist/editor/ui/WorkboxItemsTable.js +44 -48
- package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
- package/dist/editor/ui/publishReadiness.d.ts +13 -0
- package/dist/editor/ui/publishReadiness.js +56 -0
- package/dist/editor/ui/publishReadiness.js.map +1 -1
- package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
- package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
- package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
- package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
- package/dist/editor/validation/navigateToValidationIssue.js +43 -0
- package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
- package/dist/editor/validation/validationFixAgent.d.ts +26 -0
- package/dist/editor/validation/validationFixAgent.js +124 -0
- package/dist/editor/validation/validationFixAgent.js.map +1 -0
- package/dist/editor/validation/validationSeverity.d.ts +15 -0
- package/dist/editor/validation/validationSeverity.js +47 -0
- package/dist/editor/validation/validationSeverity.js.map +1 -0
- package/dist/editor/version-diff/versionDiffGeometryKeys.d.ts +10 -4
- package/dist/editor/version-diff/versionDiffGeometryKeys.js +21 -7
- package/dist/editor/version-diff/versionDiffGeometryKeys.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +6 -1
- package/dist/editor/version-diff/versionDiffTargets.js +5 -5
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/editor/views/editorSlotContext.d.ts +4 -0
- package/dist/editor/views/editorSlotContext.js +37 -1
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +6 -5
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +33 -18
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +65 -49
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.js +11 -11
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/GoalDataView.d.ts +32 -1
- package/dist/task-board/components/GoalDataView.js +105 -42
- package/dist/task-board/components/GoalDataView.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.d.ts +2 -18
- package/dist/task-board/components/ProjectDashboard.js +2 -206
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectGoalsPanel.js +115 -10
- package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
- package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
- package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
- package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
- package/dist/task-board/components/TaskBoardHomeView.d.ts +11 -0
- package/dist/task-board/components/TaskBoardHomeView.js +40 -2
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +2 -11
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +62 -23
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/commentAuthor.d.ts +14 -0
- package/dist/task-board/components/commentAuthor.js +25 -0
- package/dist/task-board/components/commentAuthor.js.map +1 -0
- package/dist/task-board/taskBoardNavStore.d.ts +6 -0
- package/dist/task-board/taskBoardNavStore.js +36 -1
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/types.d.ts +4 -0
- package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
- package/dist/task-board/utils/projectDashboardModel.js +355 -0
- package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
- package/dist/task-board/views/DependencyGraphView.d.ts +7 -1
- package/dist/task-board/views/DependencyGraphView.js +58 -19
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
- package/dist/task-board/views/ProjectDashboardView.js +316 -0
- package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
- package/dist/tour/Tour.js +21 -2
- package/dist/tour/Tour.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/images/Parhelia-Onboarding-Beach.jpg +0 -0
- package/package.json +1 -1
- package/images/Parhelia-Onboarding-BG.jpg +0 -0
|
@@ -20,7 +20,7 @@ function formatRelativeTime(dateString, now) {
|
|
|
20
20
|
return `${diffDays}d ago`;
|
|
21
21
|
return date.toLocaleDateString(undefined, { month: "short", day: "numeric" });
|
|
22
22
|
}
|
|
23
|
-
export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, className = "", showPath = true, }) => {
|
|
23
|
+
export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, className = "", showPath = true, isItemDisabled, disabledTitle, }) => {
|
|
24
24
|
// Track current time for relative time calculations
|
|
25
25
|
// Initialize to null to avoid hydration mismatch, then set after mount
|
|
26
26
|
const [currentTime, setCurrentTime] = useState(null);
|
|
@@ -40,6 +40,7 @@ export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, classN
|
|
|
40
40
|
path: item.path,
|
|
41
41
|
icon: item.icon,
|
|
42
42
|
idPath: item.idPath,
|
|
43
|
+
canWrite: item.canWrite,
|
|
43
44
|
});
|
|
44
45
|
};
|
|
45
46
|
if (filteredItems.length === 0) {
|
|
@@ -47,7 +48,14 @@ export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, classN
|
|
|
47
48
|
}
|
|
48
49
|
return (_jsx("div", { className: `flex flex-1 flex-col gap-1 overflow-y-auto ${className}`, "data-testid": "item-list", children: filteredItems.map((item) => {
|
|
49
50
|
const isDeleted = !item.icon;
|
|
50
|
-
|
|
51
|
+
const isDisabled = isItemDisabled?.(item) === true;
|
|
52
|
+
return (_jsxs("div", { className: `flex items-start gap-2 rounded p-1 text-xs ${isDisabled
|
|
53
|
+
? "cursor-not-allowed opacity-50"
|
|
54
|
+
: "hover:bg-neutral-grey-5 cursor-pointer"} ${isDeleted ? "opacity-60" : ""}`, title: isDisabled ? disabledTitle : undefined, "aria-disabled": isDisabled || undefined, "data-testid": "item-list-entry", "data-item-id": item.id, "data-item-name": item.name, "data-disabled": isDisabled || undefined, onMouseEnter: () => onItemHover?.(item), onMouseLeave: () => onItemHover?.(undefined), onClick: () => {
|
|
55
|
+
if (isDisabled)
|
|
56
|
+
return;
|
|
57
|
+
handleItemClick(item);
|
|
58
|
+
}, children: [item.icon ? (_jsx("img", { src: item.icon, width: "16", height: "16", className: "mt-0.5 flex-shrink-0" })) : (_jsx(Ban, { className: "text-neutral-grey-50 mt-0.5 h-4 w-4 flex-shrink-0", strokeWidth: 1 })), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { className: `truncate font-medium ${isDeleted ? "text-neutral-grey-50" : "text-neutral-grey-100"}`, children: [item.displayName || item.name, _jsxs("span", { className: "text-2xs text-neutral-grey-50 ml-1", children: ["(", item.language, ")"] })] }), item.visitedAt && currentTime && (_jsx("span", { className: "text-2xs text-neutral-grey-50 shrink-0", children: formatRelativeTime(item.visitedAt, currentTime) }))] }), showPath && (_jsx("div", { className: "text-2xs text-neutral-grey-50 break-words", children: item.path }))] })] }, item.id + item.language));
|
|
51
59
|
}) }));
|
|
52
60
|
};
|
|
53
61
|
//# sourceMappingURL=ItemList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemList.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,SAAS,kBAAkB,CAAC,UAAkB,EAAE,GAAS;IACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAE9C,iFAAiF;IACjF,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IAE/C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACpC,IAAI,QAAQ,GAAG,EAAE;QAAE,OAAO,GAAG,QAAQ,OAAO,CAAC;IAC7C,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,GAAG,SAAS,OAAO,CAAC;IAC/C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,GAAG,QAAQ,OAAO,CAAC;IAE5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;AAChF,CAAC;
|
|
1
|
+
{"version":3,"file":"ItemList.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export type ResultItem = {
|
|
|
8
8
|
path: string;
|
|
9
9
|
idPath?: string;
|
|
10
10
|
visitedAt?: string;
|
|
11
|
+
/** Item write ACL for the current user. Undefined when the source doesn't report it. */
|
|
12
|
+
canWrite?: boolean;
|
|
11
13
|
};
|
|
12
14
|
interface SearchProps {
|
|
13
15
|
rootItemIds?: string[];
|
|
@@ -16,6 +18,7 @@ interface SearchProps {
|
|
|
16
18
|
path?: string;
|
|
17
19
|
idPath?: string;
|
|
18
20
|
icon?: string;
|
|
21
|
+
canWrite?: boolean;
|
|
19
22
|
}) => void;
|
|
20
23
|
language?: string;
|
|
21
24
|
resultClassName?: string;
|
|
@@ -23,6 +26,10 @@ interface SearchProps {
|
|
|
23
26
|
disabled?: boolean;
|
|
24
27
|
database?: string;
|
|
25
28
|
placeholder?: string;
|
|
29
|
+
/** Results this predicate rejects render greyed out and cannot be picked. */
|
|
30
|
+
isItemSelectable?: (item: ResultItem) => boolean;
|
|
31
|
+
/** Tooltip shown on rejected results. */
|
|
32
|
+
unselectableTitle?: string;
|
|
26
33
|
}
|
|
27
34
|
export declare const ItemSearch: React.FC<SearchProps>;
|
|
28
35
|
export default ItemSearch;
|
|
@@ -7,12 +7,14 @@ import { useDebouncedCallback } from "use-debounce";
|
|
|
7
7
|
import { ItemList } from "./ItemList";
|
|
8
8
|
import { SearchInput } from "../../components/SearchInput";
|
|
9
9
|
import { GUID_REGEX_EXACT } from "../utils";
|
|
10
|
-
export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language, resultClassName, autoFocus = false, disabled = false, database = "master", placeholder = "Search...", }) => {
|
|
10
|
+
export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language, resultClassName, autoFocus = false, disabled = false, database = "master", placeholder = "Search...", isItemSelectable, unselectableTitle, }) => {
|
|
11
11
|
const [query, setQuery] = useState("");
|
|
12
12
|
const [results, setResults] = useState([]);
|
|
13
13
|
const [loading, setLoading] = useState(false);
|
|
14
14
|
const editContext = useEditContext();
|
|
15
15
|
const inputRef = useRef(null);
|
|
16
|
+
const queryRef = useRef(query);
|
|
17
|
+
queryRef.current = query;
|
|
16
18
|
const handleSearch = useDebouncedCallback(async (searchPrompt) => {
|
|
17
19
|
if (!editContext || disabled)
|
|
18
20
|
return;
|
|
@@ -28,7 +30,7 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
|
|
|
28
30
|
version: 0,
|
|
29
31
|
});
|
|
30
32
|
if (item) {
|
|
31
|
-
if (
|
|
33
|
+
if (queryRef.current === currentQuery) {
|
|
32
34
|
const resultItem = {
|
|
33
35
|
id: item.id,
|
|
34
36
|
name: item.name,
|
|
@@ -37,10 +39,12 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
|
|
|
37
39
|
icon: item.icon,
|
|
38
40
|
path: item.path || item.name,
|
|
39
41
|
idPath: item.idPath,
|
|
42
|
+
canWrite: item.canWriteItem,
|
|
40
43
|
};
|
|
41
44
|
setResults([resultItem]);
|
|
42
45
|
}
|
|
43
|
-
|
|
46
|
+
if (queryRef.current === currentQuery)
|
|
47
|
+
setLoading(false);
|
|
44
48
|
return;
|
|
45
49
|
}
|
|
46
50
|
}
|
|
@@ -54,8 +58,9 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
|
|
|
54
58
|
rootItemIds,
|
|
55
59
|
maxResults: isPath ? 15 : 15,
|
|
56
60
|
skipValidation: isPath,
|
|
61
|
+
nameOnly: !isPath,
|
|
57
62
|
});
|
|
58
|
-
if (
|
|
63
|
+
if (queryRef.current === currentQuery) {
|
|
59
64
|
if (result.type == "success") {
|
|
60
65
|
setResults(() => result.data);
|
|
61
66
|
}
|
|
@@ -63,7 +68,8 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
|
|
|
63
68
|
toast.error(result.response.statusText || "Error searching");
|
|
64
69
|
}
|
|
65
70
|
}
|
|
66
|
-
|
|
71
|
+
if (queryRef.current === currentQuery)
|
|
72
|
+
setLoading(false);
|
|
67
73
|
}, 600);
|
|
68
74
|
useEffect(() => {
|
|
69
75
|
if (query && !disabled) {
|
|
@@ -71,6 +77,8 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
|
|
|
71
77
|
handleSearch(query);
|
|
72
78
|
}
|
|
73
79
|
else {
|
|
80
|
+
handleSearch.cancel();
|
|
81
|
+
setLoading(false);
|
|
74
82
|
setResults([]);
|
|
75
83
|
}
|
|
76
84
|
}, [query, disabled]);
|
|
@@ -87,7 +95,7 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
|
|
|
87
95
|
itemSelected(item);
|
|
88
96
|
setResults([]);
|
|
89
97
|
setQuery("");
|
|
90
|
-
}, maxItems: 15, className: `mt-1 ${resultClassName} max-h-[200px] overflow-y-auto
|
|
98
|
+
}, maxItems: 15, className: `mt-1 ${resultClassName} max-h-[200px] overflow-y-auto`, isItemDisabled: isItemSelectable ? (item) => !isItemSelectable(item) : undefined, disabledTitle: unselectableTitle })), results.length === 0 && !loading && query && (_jsx("div", { "data-slot": "item-search-empty", className: "text-neutral-grey-50 mt-2 mb-2 px-3 text-xs", children: "No results found" }))] }));
|
|
91
99
|
};
|
|
92
100
|
export default ItemSearch;
|
|
93
101
|
//# sourceMappingURL=ItemSearch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemSearch.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemSearch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ItemSearch.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemSearch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -126,7 +126,8 @@ export function PublishDialog({ onClose }) {
|
|
|
126
126
|
canUndo: false,
|
|
127
127
|
};
|
|
128
128
|
const opResult = await editContext.operations.publishItem(operation);
|
|
129
|
-
toast.
|
|
129
|
+
// The operation lifecycle owns the result toast. A queued job is not a
|
|
130
|
+
// published item, and this response can arrive after its terminal event.
|
|
130
131
|
onClose(opResult);
|
|
131
132
|
}
|
|
132
133
|
catch {
|
|
@@ -151,6 +152,6 @@ export function PublishDialog({ onClose }) {
|
|
|
151
152
|
? "One listed item has validation issues."
|
|
152
153
|
: `${validationSummary.itemCount} listed items have validation issues.` }), _jsxs(AlertDescription, { children: ["Publishing is still possible, but the", " ", validationSummary.issueCount === 1
|
|
153
154
|
? "issue"
|
|
154
|
-
: `${validationSummary.issueCount} issues`, " ", "will go live as well. Review and fix", " ", validationSummary.issueCount === 1 ? "it" : "them", " in the", " ", _jsx(Button, { variant: "link", className: "h-auto p-0 text-sm font-medium", onClick: openValidationSidebar, "data-testid": "publish-validation-hint-link", children: "Validation sidebar" }), "."] })] })), _jsx("div", { className: "min-h-[12rem]", children: _jsx(WorkboxItemsTable, { items: workboxItems, isLoading: editContext.isWorkboxLoading, emptyMessage: "No items to publish." }) })] }), _jsxs(DialogFooter, { className: "mt-auto shrink-0 border-t bg-white px-6 py-4 sm:items-center", children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-3 sm:mr-auto", "data-testid": "publish-dialog-include-subitems-option", children: [_jsx(Checkbox, { checked: includeSubitems, onCheckedChange: (checked) => setIncludeSubitems(!!checked), disabled: isPublishing || editContext.readonly, "data-testid": "publish-dialog-include-subitems" }), _jsxs("span", { children: [_jsx("span", { className: "block text-sm font-medium", children: "Include subitems" }), _jsx("span", { className: "text-2xs text-muted-foreground block", children: "Also publish everything below this page." })] })] }), _jsx(Button, { variant: "outline", onClick: () => onClose(null), children: "Close" }), _jsx(Button, { onClick: publishCurrentItem, disabled: !canPublishCurrentItem, title: publishButtonTooltip, "data-testid": "publish-dialog-submit", children: isPublishing ? (_jsxs(_Fragment, { children: [_jsx(Spinner, { size: "sm" }), " Publishing..."] })) : (_jsxs(_Fragment, { children: [_jsx(Rocket, { className: "h-3.5 w-3.5", strokeWidth: 1 }), "Publish"] })) })] })] }) }));
|
|
155
|
+
: `${validationSummary.issueCount} issues`, " ", "will go live as well. Review and fix", " ", validationSummary.issueCount === 1 ? "it" : "them", " in the", " ", _jsx(Button, { variant: "link", className: "h-auto p-0 text-sm font-medium", onClick: openValidationSidebar, "data-testid": "publish-validation-hint-link", children: "Validation sidebar" }), "."] })] })), _jsx("div", { className: "min-h-[12rem]", children: _jsx(WorkboxItemsTable, { items: workboxItems, isLoading: editContext.isWorkboxLoading, emptyMessage: "No items to publish.", onValidationAction: () => onClose(null) }) })] }), _jsxs(DialogFooter, { className: "mt-auto shrink-0 border-t bg-white px-6 py-4 sm:items-center", children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-3 sm:mr-auto", "data-testid": "publish-dialog-include-subitems-option", children: [_jsx(Checkbox, { checked: includeSubitems, onCheckedChange: (checked) => setIncludeSubitems(!!checked), disabled: isPublishing || editContext.readonly, "data-testid": "publish-dialog-include-subitems" }), _jsxs("span", { children: [_jsx("span", { className: "block text-sm font-medium", children: "Include subitems" }), _jsx("span", { className: "text-2xs text-muted-foreground block", children: "Also publish everything below this page." })] })] }), _jsx(Button, { variant: "outline", onClick: () => onClose(null), children: "Close" }), _jsx(Button, { onClick: publishCurrentItem, disabled: !canPublishCurrentItem, title: publishButtonTooltip, "data-testid": "publish-dialog-submit", children: isPublishing ? (_jsxs(_Fragment, { children: [_jsx(Spinner, { size: "sm" }), " Publishing..."] })) : (_jsxs(_Fragment, { children: [_jsx(Rocket, { className: "h-3.5 w-3.5", strokeWidth: 1 }), "Publish"] })) })] })] }) }));
|
|
155
156
|
}
|
|
156
157
|
//# sourceMappingURL=PublishDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/PublishDialog.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PublishDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/PublishDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,21 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
|
|
|
43
43
|
activeTab = 0;
|
|
44
44
|
}
|
|
45
45
|
const [canCenter, setCanCenter] = useState(true);
|
|
46
|
+
// Which edges currently hide tabs. Drives the fade masks that hint at
|
|
47
|
+
// overflow, since the strip's scrollbar is hidden.
|
|
48
|
+
const [overflowEdges, setOverflowEdges] = useState({
|
|
49
|
+
left: false,
|
|
50
|
+
right: false,
|
|
51
|
+
});
|
|
52
|
+
const updateOverflowEdges = useCallback(() => {
|
|
53
|
+
const container = containerRef.current;
|
|
54
|
+
if (!container)
|
|
55
|
+
return;
|
|
56
|
+
const maxScrollLeft = container.scrollWidth - container.clientWidth;
|
|
57
|
+
const left = container.scrollLeft > 1;
|
|
58
|
+
const right = maxScrollLeft - container.scrollLeft > 1;
|
|
59
|
+
setOverflowEdges((prev) => prev.left === left && prev.right === right ? prev : { left, right });
|
|
60
|
+
}, []);
|
|
46
61
|
const updateUnderlinePosition = useCallback(() => {
|
|
47
62
|
const activeTabEl = tabRefs.current[activeTab];
|
|
48
63
|
const container = containerRef.current;
|
|
@@ -121,7 +136,11 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
|
|
|
121
136
|
});
|
|
122
137
|
}
|
|
123
138
|
// scrollIntoView can change scrollLeft; recompute after layout settles.
|
|
124
|
-
|
|
139
|
+
updateOverflowEdges();
|
|
140
|
+
requestAnimationFrame(() => {
|
|
141
|
+
updateUnderlinePosition();
|
|
142
|
+
updateOverflowEdges();
|
|
143
|
+
});
|
|
125
144
|
// Enable transitions after first render
|
|
126
145
|
if (!isInitialized) {
|
|
127
146
|
requestAnimationFrame(() => setIsInitialized(true));
|
|
@@ -133,8 +152,34 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
|
|
|
133
152
|
isInitialized,
|
|
134
153
|
tabs.length,
|
|
135
154
|
tabsLayoutSignature,
|
|
155
|
+
updateOverflowEdges,
|
|
136
156
|
updateUnderlinePosition,
|
|
137
157
|
]);
|
|
158
|
+
// Let a plain vertical wheel scroll an overflowing strip sideways. The
|
|
159
|
+
// scrollbar is hidden, so without this only shift+wheel or a trackpad swipe
|
|
160
|
+
// reaches the clipped tabs. Registered natively because React marks wheel
|
|
161
|
+
// listeners passive, which would ignore preventDefault.
|
|
162
|
+
useEffect(() => {
|
|
163
|
+
const container = containerRef.current;
|
|
164
|
+
if (!container)
|
|
165
|
+
return;
|
|
166
|
+
const handleWheel = (event) => {
|
|
167
|
+
const maxScrollLeft = container.scrollWidth - container.clientWidth;
|
|
168
|
+
if (maxScrollLeft <= 0)
|
|
169
|
+
return;
|
|
170
|
+
if (Math.abs(event.deltaX) >= Math.abs(event.deltaY))
|
|
171
|
+
return;
|
|
172
|
+
const atStart = event.deltaY < 0 && container.scrollLeft <= 0;
|
|
173
|
+
const atEnd = event.deltaY > 0 && container.scrollLeft >= maxScrollLeft;
|
|
174
|
+
// Past either end, hand the wheel back to the page.
|
|
175
|
+
if (atStart || atEnd)
|
|
176
|
+
return;
|
|
177
|
+
event.preventDefault();
|
|
178
|
+
container.scrollLeft += event.deltaY;
|
|
179
|
+
};
|
|
180
|
+
container.addEventListener("wheel", handleWheel, { passive: false });
|
|
181
|
+
return () => container.removeEventListener("wheel", handleWheel);
|
|
182
|
+
}, []);
|
|
138
183
|
// Handle container resize
|
|
139
184
|
useEffect(() => {
|
|
140
185
|
const container = containerRef.current;
|
|
@@ -159,6 +204,7 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
|
|
|
159
204
|
}
|
|
160
205
|
setCanCenter(container.scrollWidth <= container.clientWidth);
|
|
161
206
|
updateUnderlinePosition();
|
|
207
|
+
updateOverflowEdges();
|
|
162
208
|
}
|
|
163
209
|
lastContainerWidth.current = currentWidth;
|
|
164
210
|
});
|
|
@@ -166,10 +212,19 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
|
|
|
166
212
|
return () => {
|
|
167
213
|
resizeObserver.disconnect();
|
|
168
214
|
};
|
|
169
|
-
}, [updateUnderlinePosition]);
|
|
215
|
+
}, [updateOverflowEdges, updateUnderlinePosition]);
|
|
216
|
+
const handleScroll = useCallback(() => {
|
|
217
|
+
updateUnderlinePosition();
|
|
218
|
+
updateOverflowEdges();
|
|
219
|
+
}, [updateOverflowEdges, updateUnderlinePosition]);
|
|
220
|
+
const fadeMask = overflowEdges.left || overflowEdges.right
|
|
221
|
+
? `linear-gradient(to right, ${overflowEdges.left ? "transparent 0, black 28px" : "black 0"}, ${overflowEdges.right
|
|
222
|
+
? "black calc(100% - 28px), transparent 100%"
|
|
223
|
+
: "black 100%"})`
|
|
224
|
+
: undefined;
|
|
170
225
|
if (tabs.length === 0)
|
|
171
226
|
return null;
|
|
172
|
-
return (_jsxs("div", { className: "flex h-full flex-col", "data-testid": testId, children: [_jsxs("div", { ref: containerRef, className: twMerge("scrollbar-hide relative flex shrink-0 items-start gap-2 overflow-x-auto", canCenter && variant !== "large" && "justify-center", variantConfig.containerClassName, className), onScroll:
|
|
227
|
+
return (_jsxs("div", { className: "flex h-full flex-col", "data-testid": testId, children: [_jsxs("div", { ref: containerRef, className: twMerge("scrollbar-hide relative flex shrink-0 items-start gap-2 overflow-x-auto", canCenter && variant !== "large" && "justify-center", variantConfig.containerClassName, className), onScroll: handleScroll, style: { maskImage: fadeMask, WebkitMaskImage: fadeMask }, children: [tabs.map((tab, index) => (_jsxs("button", { ref: (el) => {
|
|
173
228
|
tabRefs.current[index] = el;
|
|
174
229
|
}, id: tab.id, className: twMerge("flex min-w-0 shrink-0 cursor-pointer items-center justify-center gap-2 truncate whitespace-nowrap transition-colors", variantConfig.tabClassName, tabClassName, activeTab === index ? "active-tab" : ""), "data-testid": tab.testId, disabled: tab.disabled, onClick: () => setActiveTab(index), style: {
|
|
175
230
|
fontWeight: index === activeTab ? variantConfig.activeFontWeight : "normal",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTabs.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,MAAM,cAAc,GAShB;IACF,OAAO,EAAE;QACP,YAAY,EAAE,gCAAgC;QAC9C,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,MAAM;KACtB;IACD,KAAK,EAAE;QACL,YAAY,EAAE,uDAAuD;QACrE,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,8BAA8B;QAC7C,kBAAkB,EAAE,eAAe;KACpC;CACF,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,MAAM,EACN,SAAS,GAAG,KAAK,EACjB,WAAW,GAAG,KAAK,EACnB,OAAO,GAAG,SAAS,EACnB,eAAe,GAAG,KAAK,GAYxB;IACC,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAA+B,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAA6B,EAAE,CAAC,CAAC;IACzD,MAAM,mBAAmB,GAAG,IAAI;SAC7B,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAChD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GACnB,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CACtC;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,2BAA2B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC;QACnD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,CAAC;KACP,CAAC,CAAC;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,kBAAkB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEvD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SimpleTabs.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleTabs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,12 @@ export type SplitterPanel = {
|
|
|
11
11
|
preserveVisibilityOnCollapse?: boolean;
|
|
12
12
|
collapsedSize?: number;
|
|
13
13
|
minSize?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Caps `defaultSize` to this fraction (0..1) of the container when sizes are
|
|
16
|
+
* first laid out without a stored value, so a fixed pixel default cannot
|
|
17
|
+
* swallow a small viewport. Never goes below `minSize`.
|
|
18
|
+
*/
|
|
19
|
+
maxDefaultFraction?: number;
|
|
14
20
|
hidden?: boolean;
|
|
15
21
|
className?: string;
|
|
16
22
|
};
|
|
@@ -31,5 +37,14 @@ interface SplitterProps {
|
|
|
31
37
|
onPanelTransitionEnd?: (panelName: string) => void;
|
|
32
38
|
onLastPanelCollapsedChange?: (collapsed: boolean) => void;
|
|
33
39
|
}
|
|
40
|
+
type PanelSizes = {
|
|
41
|
+
[name: string]: number | "auto";
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Initial sizes for panels that have no stored value: fixed panels take their
|
|
45
|
+
* (possibly fraction-capped) defaults, "auto" panels share the remainder, and
|
|
46
|
+
* everything scales down when the container is too small for the defaults.
|
|
47
|
+
*/
|
|
48
|
+
export declare function computeDefaultPanelSizes(panels: SplitterPanel[], containerSize: number): PanelSizes | null;
|
|
34
49
|
export declare const Splitter: React.FC<SplitterProps>;
|
|
35
50
|
export {};
|
|
@@ -5,6 +5,77 @@ import { ChevronLeft, ChevronUp } from "lucide-react";
|
|
|
5
5
|
import { cn } from "../../lib/utils";
|
|
6
6
|
import { localStorageService } from "../services/localStorageService";
|
|
7
7
|
import { dispatchSplitterResize, SPLITTER_PANEL_SIZE_REQUEST_EVENT, } from "./splitterResizeEvent";
|
|
8
|
+
const MIN_PANEL_SIZE = 50;
|
|
9
|
+
/** The pixel default of a fixed panel for a given container size. */
|
|
10
|
+
function resolveDefaultSize(panel, containerSize) {
|
|
11
|
+
const defaultSize = typeof panel.defaultSize === "number" ? panel.defaultSize : 0;
|
|
12
|
+
const fraction = panel.maxDefaultFraction;
|
|
13
|
+
if (fraction === undefined ||
|
|
14
|
+
!(fraction > 0 && fraction <= 1) ||
|
|
15
|
+
containerSize <= 0) {
|
|
16
|
+
return defaultSize;
|
|
17
|
+
}
|
|
18
|
+
const cap = Math.floor(containerSize * fraction);
|
|
19
|
+
const floor = Math.max(panel.minSize ?? MIN_PANEL_SIZE, 0);
|
|
20
|
+
return Math.max(Math.min(defaultSize, cap), Math.min(floor, defaultSize));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Initial sizes for panels that have no stored value: fixed panels take their
|
|
24
|
+
* (possibly fraction-capped) defaults, "auto" panels share the remainder, and
|
|
25
|
+
* everything scales down when the container is too small for the defaults.
|
|
26
|
+
*/
|
|
27
|
+
export function computeDefaultPanelSizes(panels, containerSize) {
|
|
28
|
+
const visiblePanels = panels.filter((p) => !p.hidden);
|
|
29
|
+
if (visiblePanels.length === 0)
|
|
30
|
+
return null;
|
|
31
|
+
const fixedPanels = visiblePanels.filter((p) => typeof p.defaultSize === "number");
|
|
32
|
+
const autoPanels = visiblePanels.filter((p) => p.defaultSize === "auto");
|
|
33
|
+
const defaults = new Map();
|
|
34
|
+
fixedPanels.forEach((p) => {
|
|
35
|
+
defaults.set(p.name, resolveDefaultSize(p, containerSize));
|
|
36
|
+
});
|
|
37
|
+
const sumFixed = fixedPanels.reduce((sum, p) => sum + (defaults.get(p.name) ?? 0), 0);
|
|
38
|
+
const updated = {};
|
|
39
|
+
if (autoPanels.length === 0) {
|
|
40
|
+
const scale = containerSize > 0 && sumFixed > 0 ? containerSize / sumFixed : 1;
|
|
41
|
+
visiblePanels.forEach((p) => {
|
|
42
|
+
updated[p.name] = Math.max(MIN_PANEL_SIZE, Math.round((defaults.get(p.name) ?? 0) * scale));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else if (containerSize > 0) {
|
|
46
|
+
const minAutoTotal = autoPanels.length * MIN_PANEL_SIZE;
|
|
47
|
+
const remainder = containerSize - sumFixed;
|
|
48
|
+
if (remainder >= minAutoTotal) {
|
|
49
|
+
const per = Math.floor(remainder / autoPanels.length);
|
|
50
|
+
fixedPanels.forEach((p) => {
|
|
51
|
+
updated[p.name] = defaults.get(p.name) ?? 0;
|
|
52
|
+
});
|
|
53
|
+
autoPanels.forEach((p) => {
|
|
54
|
+
updated[p.name] = per;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const availableForFixed = Math.max(0, containerSize - minAutoTotal);
|
|
59
|
+
const scale = sumFixed > 0 ? availableForFixed / sumFixed : 0;
|
|
60
|
+
fixedPanels.forEach((p) => {
|
|
61
|
+
updated[p.name] = Math.max(MIN_PANEL_SIZE, Math.round((defaults.get(p.name) ?? 0) * scale));
|
|
62
|
+
});
|
|
63
|
+
autoPanels.forEach((p) => {
|
|
64
|
+
updated[p.name] = MIN_PANEL_SIZE;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Fallback when container size is 0
|
|
70
|
+
fixedPanels.forEach((p) => {
|
|
71
|
+
updated[p.name] = defaults.get(p.name) ?? 0;
|
|
72
|
+
});
|
|
73
|
+
autoPanels.forEach((p) => {
|
|
74
|
+
updated[p.name] = MIN_PANEL_SIZE;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return updated;
|
|
78
|
+
}
|
|
8
79
|
export const Splitter = ({ panels, localStorageKey = "splitter-sizes", expandLabel, expandButtonLabel, expandButtonTestId, direction = "horizontal", // Default to horizontal for backward compatibility
|
|
9
80
|
className, splitterClassName, expandButtonClassName, forceCollapseLastPanelKey, forceExpandLastPanelKey, handleContent, onPanelTransitionEnd, onLastPanelCollapsedChange, }) => {
|
|
10
81
|
const totalPanels = panels.length;
|
|
@@ -83,56 +154,9 @@ className, splitterClassName, expandButtonClassName, forceCollapseLastPanelKey,
|
|
|
83
154
|
const containerSize = isHorizontal
|
|
84
155
|
? container.clientWidth
|
|
85
156
|
: container.clientHeight;
|
|
86
|
-
const
|
|
87
|
-
if (
|
|
88
|
-
|
|
89
|
-
const minPanelSize = 50;
|
|
90
|
-
const fixedPanels = visiblePanels.filter((p) => typeof p.defaultSize === "number");
|
|
91
|
-
const autoPanels = visiblePanels.filter((p) => p.defaultSize === "auto");
|
|
92
|
-
const sumFixed = fixedPanels.reduce((sum, p) => {
|
|
93
|
-
const size = p.defaultSize;
|
|
94
|
-
return sum + (typeof size === "number" ? size : 0);
|
|
95
|
-
}, 0);
|
|
96
|
-
const updated = {};
|
|
97
|
-
if (autoPanels.length === 0) {
|
|
98
|
-
const scale = containerSize > 0 && sumFixed > 0 ? containerSize / sumFixed : 1;
|
|
99
|
-
visiblePanels.forEach((p) => {
|
|
100
|
-
updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
else if (containerSize > 0) {
|
|
104
|
-
const minAutoTotal = autoPanels.length * minPanelSize;
|
|
105
|
-
const remainder = containerSize - sumFixed;
|
|
106
|
-
if (remainder >= minAutoTotal) {
|
|
107
|
-
const per = Math.floor(remainder / autoPanels.length);
|
|
108
|
-
fixedPanels.forEach((p) => {
|
|
109
|
-
updated[p.name] = p.defaultSize;
|
|
110
|
-
});
|
|
111
|
-
autoPanels.forEach((p) => {
|
|
112
|
-
updated[p.name] = per;
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
const availableForFixed = Math.max(0, containerSize - minAutoTotal);
|
|
117
|
-
const scale = sumFixed > 0 ? availableForFixed / sumFixed : 0;
|
|
118
|
-
fixedPanels.forEach((p) => {
|
|
119
|
-
updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
|
|
120
|
-
});
|
|
121
|
-
autoPanels.forEach((p) => {
|
|
122
|
-
updated[p.name] = minPanelSize;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
// Fallback when container size is 0
|
|
128
|
-
fixedPanels.forEach((p) => {
|
|
129
|
-
updated[p.name] = p.defaultSize;
|
|
130
|
-
});
|
|
131
|
-
autoPanels.forEach((p) => {
|
|
132
|
-
updated[p.name] = minPanelSize;
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
setPanelSizes(updated);
|
|
157
|
+
const updated = computeDefaultPanelSizes(panels, containerSize);
|
|
158
|
+
if (updated)
|
|
159
|
+
setPanelSizes(updated);
|
|
136
160
|
};
|
|
137
161
|
const hasZeroSize = Object.values(panelSizes).some((size) => typeof size === "number" && size <= 0);
|
|
138
162
|
if (hasZeroSize) {
|
|
@@ -145,56 +169,9 @@ className, splitterClassName, expandButtonClassName, forceCollapseLastPanelKey,
|
|
|
145
169
|
const container = splitterRef.current;
|
|
146
170
|
const isHorizontal = direction === "horizontal";
|
|
147
171
|
const computeAndSet = (containerSize) => {
|
|
148
|
-
const
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
const minPanelSize = 50;
|
|
152
|
-
const fixedPanels = visiblePanels.filter((p) => typeof p.defaultSize === "number");
|
|
153
|
-
const autoPanels = visiblePanels.filter((p) => p.defaultSize === "auto");
|
|
154
|
-
const sumFixed = fixedPanels.reduce((sum, p) => {
|
|
155
|
-
const size = p.defaultSize;
|
|
156
|
-
return sum + (typeof size === "number" ? size : 0);
|
|
157
|
-
}, 0);
|
|
158
|
-
const updated = {};
|
|
159
|
-
if (autoPanels.length === 0) {
|
|
160
|
-
const scale = containerSize > 0 && sumFixed > 0 ? containerSize / sumFixed : 1;
|
|
161
|
-
visiblePanels.forEach((p) => {
|
|
162
|
-
updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
else if (containerSize > 0) {
|
|
166
|
-
const minAutoTotal = autoPanels.length * minPanelSize;
|
|
167
|
-
const remainder = containerSize - sumFixed;
|
|
168
|
-
if (remainder >= minAutoTotal) {
|
|
169
|
-
const per = Math.floor(remainder / autoPanels.length);
|
|
170
|
-
fixedPanels.forEach((p) => {
|
|
171
|
-
updated[p.name] = p.defaultSize;
|
|
172
|
-
});
|
|
173
|
-
autoPanels.forEach((p) => {
|
|
174
|
-
updated[p.name] = per;
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
const availableForFixed = Math.max(0, containerSize - minAutoTotal);
|
|
179
|
-
const scale = sumFixed > 0 ? availableForFixed / sumFixed : 0;
|
|
180
|
-
fixedPanels.forEach((p) => {
|
|
181
|
-
updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
|
|
182
|
-
});
|
|
183
|
-
autoPanels.forEach((p) => {
|
|
184
|
-
updated[p.name] = minPanelSize;
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
189
|
-
// Fallback when container size is 0
|
|
190
|
-
fixedPanels.forEach((p) => {
|
|
191
|
-
updated[p.name] = p.defaultSize;
|
|
192
|
-
});
|
|
193
|
-
autoPanels.forEach((p) => {
|
|
194
|
-
updated[p.name] = minPanelSize;
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
setPanelSizes(updated);
|
|
172
|
+
const updated = computeDefaultPanelSizes(panels, containerSize);
|
|
173
|
+
if (updated)
|
|
174
|
+
setPanelSizes(updated);
|
|
198
175
|
};
|
|
199
176
|
const initialSize = isHorizontal
|
|
200
177
|
? container.clientWidth
|