@parhelia/core 0.1.12789 → 0.1.12790
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/AgentCard.js +2 -5
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentsTitlebar.js +1 -2
- package/dist/agents-view/AgentsTitlebar.js.map +1 -1
- package/dist/agents-view/AgentsView.js +53 -7
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.d.ts +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +4 -9
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.d.ts +17 -0
- package/dist/agents-view/DateAgentsGroup.js +8 -0
- package/dist/agents-view/DateAgentsGroup.js.map +1 -0
- package/dist/components/ui/LanguageSelector.d.ts +3 -1
- package/dist/components/ui/LanguageSelector.js +8 -4
- package/dist/components/ui/LanguageSelector.js.map +1 -1
- package/dist/components/ui/UserPicker.d.ts +34 -0
- package/dist/components/ui/UserPicker.js +73 -0
- package/dist/components/ui/UserPicker.js.map +1 -0
- package/dist/components/ui/copy-button.js +2 -1
- package/dist/components/ui/copy-button.js.map +1 -1
- package/dist/components/ui/popover.js +22 -4
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/select.js +1 -2
- package/dist/components/ui/select.js.map +1 -1
- package/dist/config/config.js +15 -2
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +14 -1
- package/dist/editor/ContentTree.js +69 -19
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/Editor.js +5 -8
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/EditorLoadingOverlay.d.ts +1 -0
- package/dist/editor/EditorLoadingOverlay.js +7 -0
- package/dist/editor/EditorLoadingOverlay.js.map +1 -0
- package/dist/editor/FieldActionsOverlay.js +31 -4
- package/dist/editor/FieldActionsOverlay.js.map +1 -1
- package/dist/editor/FieldListField.js +6 -1
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/ai/AgentSharingSection.js +15 -2
- package/dist/editor/ai/AgentSharingSection.js.map +1 -1
- package/dist/editor/ai/InlineAiTrigger.js +4 -0
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/agentTodoExtraction.d.ts +7 -1
- package/dist/editor/ai/agentTodoExtraction.js +33 -0
- package/dist/editor/ai/agentTodoExtraction.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentDocumentList.d.ts +13 -0
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +61 -46
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +6 -9
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +10 -2
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +42 -9
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +19 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +71 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js +4 -2
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +7 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +3 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +12 -3
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/EditOperationsPanel.d.ts +3 -1
- package/dist/editor/ai/terminal/components/EditOperationsPanel.js +13 -2
- package/dist/editor/ai/terminal/components/EditOperationsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js +18 -14
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/TodoListPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/TodoListPanel.js +10 -6
- package/dist/editor/ai/terminal/components/TodoListPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +3 -2
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.d.ts +3 -2
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js +3 -21
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +3 -2
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +1 -2
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +2 -2
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js +1 -1
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalActions.d.ts +6 -5
- package/dist/editor/ai/terminal/useAgentTerminalActions.js +3 -10
- package/dist/editor/ai/terminal/useAgentTerminalActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +13 -5
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js +187 -0
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js.map +1 -0
- package/dist/editor/client/AboutDialog.js +2 -1
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +118 -30
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +4 -1
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/fieldModificationStore.d.ts +5 -2
- package/dist/editor/client/fieldModificationStore.js +31 -21
- package/dist/editor/client/fieldModificationStore.js.map +1 -1
- package/dist/editor/client/hooks/useEditorWebSocket.js +0 -47
- package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +1 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +47 -49
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/itemsRepository.d.ts +8 -5
- package/dist/editor/client/itemsRepository.js +30 -37
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/operations.d.ts +8 -1
- package/dist/editor/client/operations.js +29 -9
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +7 -1
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/commands/createVersionCommand.js +8 -2
- package/dist/editor/commands/createVersionCommand.js.map +1 -1
- package/dist/editor/field-types/DropLinkEditor.js +4 -1
- package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +3 -1
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/NameValueListEditor.js +4 -1
- package/dist/editor/field-types/NameValueListEditor.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +8 -4
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +6 -2
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +3 -1
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/TreeListEditor.js +6 -1
- package/dist/editor/field-types/TreeListEditor.js.map +1 -1
- package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +2 -1
- package/dist/editor/field-types/richtext/contextMenuFactory.js +7 -5
- package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
- package/dist/editor/hooks/useNavigationPanelLogic.d.ts +3 -3
- package/dist/editor/hooks/useNavigationPanelLogic.js +5 -5
- package/dist/editor/hooks/useNavigationPanelLogic.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.d.ts +4 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +11 -3
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/VersionPreviewCard.js +26 -6
- package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +17 -6
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.d.ts +7 -0
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +37 -0
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +2 -2
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +7 -11
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/index.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
- package/dist/editor/notifications/useNotifications.js +11 -4
- package/dist/editor/notifications/useNotifications.js.map +1 -1
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js +3 -1
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.d.ts +4 -2
- package/dist/editor/page-editor-chrome/FrameMenu.js +33 -9
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.d.ts +4 -2
- package/dist/editor/page-editor-chrome/InlineEditor.js +125 -20
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +4 -2
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +16 -3
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +36 -13
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +24 -4
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js +52 -22
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.js +29 -21
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.d.ts +4 -2
- package/dist/editor/page-viewer/PageViewer.js +14 -6
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.d.ts +4 -2
- package/dist/editor/page-viewer/PageViewerFrame.js +171 -52
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/reviews/Comment.js +24 -0
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +1 -1
- package/dist/editor/services/agentService.js +2 -3
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +0 -36
- package/dist/editor/services/aiService.js +7 -64
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/manualService.d.ts +31 -0
- package/dist/editor/services/manualService.js +77 -0
- package/dist/editor/services/manualService.js.map +1 -0
- package/dist/editor/services/serviceHelper.js +0 -14
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/services/systemService.d.ts +4 -0
- package/dist/editor/services/systemService.js +3 -0
- package/dist/editor/services/systemService.js.map +1 -1
- package/dist/editor/services/userService.d.ts +6 -0
- package/dist/editor/services/userService.js +13 -0
- package/dist/editor/services/userService.js.map +1 -0
- package/dist/editor/settings/About.js +178 -1
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +7 -7
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/QuotaUserPicker.js +15 -55
- package/dist/editor/settings/QuotaUserPicker.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.d.ts +2 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +4 -2
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileEditorPanel.d.ts +1 -0
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js +1 -1
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js +15 -10
- package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +37 -10
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/CreateMcpServerDialog.d.ts +7 -0
- package/dist/editor/settings/panels/CreateMcpServerDialog.js +71 -0
- package/dist/editor/settings/panels/CreateMcpServerDialog.js.map +1 -0
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js +13 -17
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/McpToolsPanel.js +17 -8
- package/dist/editor/settings/panels/McpToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelsPanel.js +92 -56
- package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProvidersPanel.js +46 -47
- package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js +2 -2
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/UserPreferencesPanel.d.ts +2 -0
- package/dist/editor/settings/panels/UserPreferencesPanel.js +17 -0
- package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -0
- package/dist/editor/settings/panels/index.d.ts +1 -0
- package/dist/editor/settings/panels/index.js +1 -0
- package/dist/editor/settings/panels/index.js.map +1 -1
- package/dist/editor/sidebar/EditHistory.js +18 -3
- package/dist/editor/sidebar/EditHistory.js.map +1 -1
- package/dist/editor/sidebar/LabelButton.d.ts +3 -3
- package/dist/editor/sidebar/LabelButton.js +4 -4
- package/dist/editor/sidebar/LabelButton.js.map +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.d.ts +2 -2
- package/dist/editor/sidebar/MobileWorkspacePopover.js +2 -2
- package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelItem.js +3 -3
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.d.ts +3 -1
- package/dist/editor/sidebar/WorkspaceButton.js +15 -7
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRail.js +6 -5
- package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRailMobile.js +2 -2
- package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.d.ts +27 -3
- package/dist/editor/ui/ItemCollectionEditor.js +44 -5
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/PerfectTree.js +1 -1
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/utils.js +33 -11
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.js +7 -1
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/editor/views/EditorSlot.js +3 -2
- package/dist/editor/views/EditorSlot.js.map +1 -1
- package/dist/editor/views/ItemEditorPane.d.ts +11 -0
- package/dist/editor/views/ItemEditorPane.js +19 -0
- package/dist/editor/views/ItemEditorPane.js.map +1 -0
- package/dist/editor/views/editorSlotContext.d.ts +2 -0
- package/dist/editor/views/editorSlotContext.js +3 -0
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/services/setupWizardService.d.ts +10 -0
- package/dist/setup/services/setupWizardService.js +7 -0
- package/dist/setup/services/setupWizardService.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +1 -0
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/ProjectExecutionUserPicker.js +15 -61
- package/dist/task-board/components/ProjectExecutionUserPicker.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.d.ts +1 -0
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectSelector.d.ts +1 -0
- package/dist/task-board/components/ProjectSelector.js +7 -1
- package/dist/task-board/components/ProjectSelector.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +1 -0
- package/dist/task-board/taskBoardNavStore.js +1 -0
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/package.json +1 -1
- package/dist/editor/debugSessionLog.d.ts +0 -9
- package/dist/editor/debugSessionLog.js +0 -19
- package/dist/editor/debugSessionLog.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LabelButton.js","sourceRoot":"","sources":["../../../src/editor/sidebar/LabelButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,UAAU,WAAW,CAAC,EAC1B,
|
|
1
|
+
{"version":3,"file":"LabelButton.js","sourceRoot":"","sources":["../../../src/editor/sidebar/LabelButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,UAAU,WAAW,CAAC,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,QAAQ,GAAG,KAAK,GAKjB;IACC,OAAO,CACL,MAAC,OAAO,IAAC,aAAa,EAAE,GAAG,aACzB,KAAC,cAAc,IAAC,OAAO,kBACrB,kBACE,SAAS,EAAE,EAAE,CACX,wEAAwE,EACxE,iBAAiB;wBACf,CAAC,CAAC,yDAAyD;wBAC3D,CAAC,CAAC,6FAA6F,EACjG,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EACvC,QAAQ,IAAI,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAChD,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CACzD,EACD,OAAO,EAAE,uBAAuB,iBACpB,cAAc,aAE1B,KAAC,SAAS,IAAC,SAAS,EAAC,kBAAkB,EAAC,WAAW,EAAE,GAAG,GAAI,EAC3D,iBAAiB,IAAI,CACpB,eACE,SAAS,EAAE,EAAE,CACX,yDAAyD,EACzD,QAAQ;gCACN,CAAC,CAAC,0BAA0B;gCAC5B,CAAC,CAAC,6BAA6B,CAClC,YAEA,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAClC,CACR,IACM,GACM,EACjB,KAAC,cAAc,IAAC,IAAI,EAAC,OAAO,YACzB,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,GACnC,IACT,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -7,10 +7,10 @@ export interface MobileWorkspacePopoverProps {
|
|
|
7
7
|
/** Called when user selects a workspace */
|
|
8
8
|
onWorkspaceSelect: (workspaceId: string) => void;
|
|
9
9
|
/** Whether to show labels below icons */
|
|
10
|
-
|
|
10
|
+
showSidebarLabels?: boolean;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Mobile-only popover button to switch workspaces (Editor, AI Agents, Translation Management, etc.).
|
|
14
14
|
* Renders a single trigger button showing the current workspace icon; opens a list to pick another.
|
|
15
15
|
*/
|
|
16
|
-
export declare function MobileWorkspacePopover({ workspaces, currentWorkspaceId, onWorkspaceSelect,
|
|
16
|
+
export declare function MobileWorkspacePopover({ workspaces, currentWorkspaceId, onWorkspaceSelect, showSidebarLabels, }: MobileWorkspacePopoverProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -16,7 +16,7 @@ function renderIcon(icon) {
|
|
|
16
16
|
* Mobile-only popover button to switch workspaces (Editor, AI Agents, Translation Management, etc.).
|
|
17
17
|
* Renders a single trigger button showing the current workspace icon; opens a list to pick another.
|
|
18
18
|
*/
|
|
19
|
-
export function MobileWorkspacePopover({ workspaces, currentWorkspaceId, onWorkspaceSelect,
|
|
19
|
+
export function MobileWorkspacePopover({ workspaces, currentWorkspaceId, onWorkspaceSelect, showSidebarLabels = false, }) {
|
|
20
20
|
const [open, setOpen] = useState(false);
|
|
21
21
|
const handleSelect = useCallback((workspaceId) => {
|
|
22
22
|
onWorkspaceSelect(workspaceId);
|
|
@@ -27,7 +27,7 @@ export function MobileWorkspacePopover({ workspaces, currentWorkspaceId, onWorks
|
|
|
27
27
|
const currentWorkspace = workspaces.find((w) => w.id === currentWorkspaceId) ?? workspaces[0];
|
|
28
28
|
const currentIcon = currentWorkspace?.icon;
|
|
29
29
|
const currentTitle = currentWorkspace?.title;
|
|
30
|
-
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": "Change workspace", "aria-haspopup": "listbox", "aria-expanded": open, "data-testid": "workspace-mobile-popover", className: cn("flex aspect-square min-w-7 min-h-7 max-h-11 flex-col items-center justify-center rounded border border-gray-300 bg-gray-100 p-1 text-gray-900",
|
|
30
|
+
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": "Change workspace", "aria-haspopup": "listbox", "aria-expanded": open, "data-testid": "workspace-mobile-popover", className: cn("flex aspect-square min-w-7 min-h-7 max-h-11 flex-col items-center justify-center rounded border border-gray-300 bg-gray-100 p-1 text-gray-900", showSidebarLabels ? "w-14 shrink-0" : ""), children: [_jsx("div", { className: cn("relative", showSidebarLabels ? "p-0.5" : ""), children: renderIcon(currentIcon) }), showSidebarLabels && currentTitle && (_jsx("span", { className: "mt-0.5 w-full truncate px-0.5 text-center text-[10px] leading-tight whitespace-nowrap", children: currentTitle }))] }) }), _jsx(PopoverContent, { side: "right", align: "start", className: "w-auto min-w-40 p-1", children: _jsx("div", { className: "flex flex-col gap-0.5", role: "listbox", "aria-label": "Choose workspace", children: workspaces.map((workspace) => {
|
|
31
31
|
const active = workspace.id === currentWorkspaceId;
|
|
32
32
|
return (_jsxs("button", { type: "button", role: "option", "aria-selected": active, "data-testid": `workspace-mobile-${workspace.id}`, className: cn("flex items-center gap-2 rounded px-3 py-2 text-left text-sm", "hover:bg-gray-100", active && "bg-gray-100 font-medium text-gray-900", !active && "text-gray-600"), onClick: () => handleSelect(workspace.id), children: [renderIcon(workspace.icon), _jsx("span", { children: workspace.title })] }, `workspace-${workspace.id}`));
|
|
33
33
|
}) }) })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileWorkspacePopover.js","sourceRoot":"","sources":["../../../src/editor/sidebar/MobileWorkspacePopover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AAcrC,SAAS,UAAU,CAAC,IAAqB;IACvC,MAAM,WAAW,GAAG,IAGlB,CAAC;IACH,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE;QACrC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;QACtD,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,IAAI,GAAG;KACnD,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,EACrC,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"MobileWorkspacePopover.js","sourceRoot":"","sources":["../../../src/editor/sidebar/MobileWorkspacePopover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export const renderSidebarIcon = (icon) => {
|
|
|
14
14
|
return null;
|
|
15
15
|
};
|
|
16
16
|
export const NavigationPanelItem = ({ sidebar, contextValues, handlers, isMobile, dragOverId, }) => {
|
|
17
|
-
const { openSidebars, pinnedSidebars, sidebarStacks,
|
|
17
|
+
const { openSidebars, pinnedSidebars, sidebarStacks, showSidebarLabels, sidebars, } = contextValues;
|
|
18
18
|
const isOpen = openSidebars.includes(sidebar.id);
|
|
19
19
|
const isPinned = pinnedSidebars.includes(sidebar.id);
|
|
20
20
|
const isIconDraggable = !isMobile && (isPinned || isOpen);
|
|
@@ -25,13 +25,13 @@ export const NavigationPanelItem = ({ sidebar, contextValues, handlers, isMobile
|
|
|
25
25
|
candidate.position === "left");
|
|
26
26
|
return (_jsxs(ContextMenu, { children: [_jsxs(Tooltip, { delayDuration: 500, children: [_jsx(ContextMenuTrigger, { asChild: true, children: _jsx(TooltipTrigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": sidebar.title, className: cn(isOpen
|
|
27
27
|
? "border-gray-300 bg-gray-100 text-gray-900"
|
|
28
|
-
: "border-transparent text-gray-500 hover:bg-gray-50 hover:text-gray-700", "relative flex shrink-0 cursor-pointer flex-col items-center justify-center rounded border transition-colors select-none",
|
|
28
|
+
: "border-transparent text-gray-500 hover:bg-gray-50 hover:text-gray-700", "relative flex shrink-0 cursor-pointer flex-col items-center justify-center rounded border transition-colors select-none", showSidebarLabels
|
|
29
29
|
? isMobile
|
|
30
30
|
? "w-14 p-1"
|
|
31
31
|
: "h-auto w-full gap-0.5 px-1.5 py-1.5"
|
|
32
32
|
: isMobile
|
|
33
33
|
? "p-1.25"
|
|
34
|
-
: "h-8 w-8", dragOverId === sidebar.id && "ring-2 ring-blue-400"), "data-sidebar-id": sidebar.id, "data-testid": `sidebar-icon-${sidebar.id}`, onClick: () => handlers.onToggleSidebar(sidebar.id), draggable: isIconDraggable, onDragStart: (e) => handlers.onIconDragStart(e, sidebar.id), onDragEnd: handlers.onIconDragLeave, onDragOver: (e) => handlers.onIconDragOver(e, sidebar.id), onDragLeave: handlers.onIconDragLeave, onDrop: (e) => handlers.onIconDrop(e, sidebar.id), children: [_jsx("div", { className: cn("relative",
|
|
34
|
+
: "h-8 w-8", dragOverId === sidebar.id && "ring-2 ring-blue-400"), "data-sidebar-id": sidebar.id, "data-testid": `sidebar-icon-${sidebar.id}`, onClick: () => handlers.onToggleSidebar(sidebar.id), draggable: isIconDraggable, onDragStart: (e) => handlers.onIconDragStart(e, sidebar.id), onDragEnd: handlers.onIconDragLeave, onDragOver: (e) => handlers.onIconDragOver(e, sidebar.id), onDragLeave: handlers.onIconDragLeave, onDrop: (e) => handlers.onIconDrop(e, sidebar.id), children: [_jsx("div", { className: cn("relative", showSidebarLabels ? "p-0.5" : ""), children: renderSidebarIcon(sidebar.icon) }), showSidebarLabels && (_jsx("span", { className: cn("mt-0.5 max-w-full text-center text-[10px] leading-tight", isMobile
|
|
35
35
|
? "w-full truncate px-0.5 whitespace-nowrap"
|
|
36
36
|
: "font-medium wrap-break-word"), children: sidebar.title }))] }) }) }), _jsx(TooltipContent, { side: "right", children: sidebar.title })] }), _jsxs(ContextMenuContent, { children: [isOpen && stackCandidates.length > 0 && (_jsxs(ContextMenuSub, { children: [_jsx(ContextMenuSubTrigger, { children: "Stack with..." }), _jsx(ContextMenuSubContent, { children: stackCandidates.map((target) => (_jsx(ContextMenuItem, { onSelect: () => handlers.onStack(sidebar.id, target.id, "after"), children: target.title }, `stack-with-${sidebar.id}-${target.id}`))) })] })), isOpen && isStacked && (_jsxs(ContextMenuItem, { onSelect: () => handlers.onUnstack(sidebar.id), children: [_jsx(Layers, { className: "size-4", strokeWidth: 1 }), "Unstack"] })), _jsx(ContextMenuItem, { onSelect: () => handlers.onTogglePin(sidebar.id), children: isPinned ? (_jsxs(_Fragment, { children: [_jsx(PinOff, { className: "size-4", strokeWidth: 1 }), "Unpin"] })) : (_jsxs(_Fragment, { children: [_jsx(Pin, { className: "size-4", strokeWidth: 1 }), "Pin to toolbar"] })) }), isOpen && (_jsxs(ContextMenuItem, { onSelect: () => handlers.onToggleSidebar(sidebar.id, { forceClose: true }), children: [_jsx(X, { className: "size-4", strokeWidth: 1 }), "Close"] }))] })] }, `sidebar-${sidebar.id}`));
|
|
37
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPanelItem.js","sourceRoot":"","sources":["../../../src/editor/sidebar/NavigationPanelItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAOtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAqB,EAAE,EAAE;IACzD,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,YAAY,CACvB,IAAwE,EACxE;YACE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,GACe,EAAE,EAAE;IAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"NavigationPanelItem.js","sourceRoot":"","sources":["../../../src/editor/sidebar/NavigationPanelItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const WorkspaceButton: ({ active, onClick, workspace, numberKey, showSidebarLabels, }: {
|
|
2
3
|
active: boolean;
|
|
3
4
|
onClick: (id: string) => void;
|
|
4
5
|
workspace: {
|
|
@@ -7,4 +8,5 @@ export declare const WorkspaceButton: ({ active, onClick, workspace, numberKey,
|
|
|
7
8
|
icon: React.ReactNode;
|
|
8
9
|
};
|
|
9
10
|
numberKey?: string;
|
|
11
|
+
showSidebarLabels?: boolean;
|
|
10
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
|
|
3
3
|
import { cn } from "../../lib/utils";
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import React from "react";
|
|
5
|
+
function renderWorkspaceIcon(icon) {
|
|
6
|
+
if (!React.isValidElement(icon)) {
|
|
7
|
+
return icon;
|
|
8
|
+
}
|
|
9
|
+
return React.cloneElement(icon, {
|
|
10
|
+
className: "h-5 w-5",
|
|
11
|
+
strokeWidth: 1,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export const WorkspaceButton = ({ active, onClick, workspace, numberKey, showSidebarLabels = false, }) => {
|
|
15
|
+
return (_jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs("button", { type: "button", "aria-label": workspace.title, "aria-current": active ? "page" : undefined, "data-testid": `workspace-rail-${workspace.id}`, className: cn("flex shrink-0 flex-col items-center justify-center rounded-md border transition-colors", showSidebarLabels
|
|
16
|
+
? "h-auto min-h-11 w-full gap-0.5 px-1 py-1.5"
|
|
17
|
+
: "h-9 w-9", active
|
|
7
18
|
? "border-purple-200 bg-purple-50 text-purple-700"
|
|
8
|
-
: "border-transparent text-gray-500 hover:border-gray-200 hover:bg-gray-50 hover:text-gray-800"), onClick: () => onClick(workspace.id), children:
|
|
9
|
-
className: "w-5 h-5",
|
|
10
|
-
strokeWidth: 1,
|
|
11
|
-
}) }) }), _jsxs(TooltipContent, { side: "right", children: [workspace.title, numberKey ? ` (Alt+${numberKey})` : ""] })] }));
|
|
19
|
+
: "border-transparent text-gray-500 hover:border-gray-200 hover:bg-gray-50 hover:text-gray-800"), onClick: () => onClick(workspace.id), children: [_jsx("div", { className: cn("relative", showSidebarLabels ? "p-0.5" : ""), children: renderWorkspaceIcon(workspace.icon) }), showSidebarLabels && (_jsx("span", { className: "mt-0.5 max-w-full text-center text-[10px] leading-tight font-medium wrap-break-word", children: workspace.title }))] }) }), _jsxs(TooltipContent, { side: "right", children: [workspace.title, numberKey ? ` (Alt+${numberKey})` : ""] })] }));
|
|
12
20
|
};
|
|
13
21
|
//# sourceMappingURL=WorkspaceButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceButton.js","sourceRoot":"","sources":["../../../src/editor/sidebar/WorkspaceButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"WorkspaceButton.js","sourceRoot":"","sources":["../../../src/editor/sidebar/WorkspaceButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,SAAS,mBAAmB,CAAC,IAAqB;IAChD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,YAAY,CACvB,IAGE,EACF;QACE,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,CAAC;KACf,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACT,iBAAiB,GAAG,KAAK,GAW1B,EAAE,EAAE;IACH,OAAO,CACL,MAAC,OAAO,IAAC,aAAa,EAAE,GAAG,aACzB,KAAC,cAAc,IAAC,OAAO,kBACrB,kBACE,IAAI,EAAC,QAAQ,gBACD,SAAS,CAAC,KAAK,kBACb,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,iBAC5B,kBAAkB,SAAS,CAAC,EAAE,EAAE,EAC7C,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,iBAAiB;wBACf,CAAC,CAAC,4CAA4C;wBAC9C,CAAC,CAAC,SAAS,EACb,MAAM;wBACJ,CAAC,CAAC,gDAAgD;wBAClD,CAAC,CAAC,6FAA6F,CAClG,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,aAEpC,cAAK,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAC7D,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,GAChC,EACL,iBAAiB,IAAI,CACpB,eAAM,SAAS,EAAC,qFAAqF,YAClG,SAAS,CAAC,KAAK,GACX,CACR,IACM,GACM,EACjB,MAAC,cAAc,IAAC,IAAI,EAAC,OAAO,aACzB,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,IACxB,IACT,CACX,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -7,6 +7,7 @@ import { useNavigationPanelLogic } from "../hooks/useNavigationPanelLogic";
|
|
|
7
7
|
import { WorkspaceButton } from "./WorkspaceButton";
|
|
8
8
|
import { HomeButton } from "../ui/HomeButton";
|
|
9
9
|
import { HelpButton } from "../menubar/toolbar-sections/HelpButton";
|
|
10
|
+
import { cn } from "../../lib/utils";
|
|
10
11
|
function isTyping(event) {
|
|
11
12
|
const target = event.target;
|
|
12
13
|
if (!target)
|
|
@@ -21,7 +22,7 @@ function isTyping(event) {
|
|
|
21
22
|
return true;
|
|
22
23
|
return !!el.closest('input,textarea,select,[contenteditable=""],[contenteditable="true"],[role="textbox"]');
|
|
23
24
|
}
|
|
24
|
-
const Separator = () => _jsx("div", { className: "my-1 h-
|
|
25
|
+
const Separator = () => _jsx("div", { className: "my-1 h-px w-6 shrink-0 bg-gray-300" });
|
|
25
26
|
function getSortedWorkspaces(workspaces) {
|
|
26
27
|
const sorted = (workspaces ?? [])
|
|
27
28
|
.filter((workspace) => !workspace.hidden && workspace.id !== "home")
|
|
@@ -62,7 +63,7 @@ export function WorkspaceRail({ showSidebarIcons }) {
|
|
|
62
63
|
}, [contextValues, handlers]);
|
|
63
64
|
if (!contextValues)
|
|
64
65
|
return null;
|
|
65
|
-
const { visibleWorkspaces, workspaceId, sidebars } = contextValues;
|
|
66
|
+
const { visibleWorkspaces, workspaceId, sidebars, showSidebarLabels } = contextValues;
|
|
66
67
|
const leftSidebars = sidebars
|
|
67
68
|
.filter((sidebar) => sidebar.position === "left" && !sidebar.hidden)
|
|
68
69
|
.sort((a, b) => (a.sortOrder ?? 100) - (b.sortOrder ?? 100));
|
|
@@ -71,10 +72,10 @@ export function WorkspaceRail({ showSidebarIcons }) {
|
|
|
71
72
|
const hasSidebarItems = showSidebarIcons && leftSidebars.length > 0;
|
|
72
73
|
if (workspaces.length === 0 && !hasSidebarItems)
|
|
73
74
|
return null;
|
|
74
|
-
return (_jsx(TooltipProvider, { delayDuration: 500, skipDelayDuration: 0, children: _jsxs("div", { className: "flex h-full min-h-0
|
|
75
|
+
return (_jsx(TooltipProvider, { delayDuration: 500, skipDelayDuration: 0, children: _jsxs("div", { className: cn("flex h-full min-h-0 flex-col items-center gap-1.5 border-r border-gray-200 bg-gray-50/50 py-2 pt-1.5", showSidebarLabels ? "w-[68px] px-1.5" : "w-[53px] px-2"), "data-testid": "workspace-rail", children: [_jsx(HomeButton, { className: "rounded-lg p-1 hover:scale-110" }), hasSidebarItems && _jsx(Separator, {}), hasSidebarItems && (_jsxs("div", { className: "scrollbar-hide flex min-h-0 w-full flex-col items-center gap-1 overflow-y-auto", children: [visibleItems.map((sidebar) => (_jsx(NavigationPanelItem, { sidebar: sidebar, contextValues: contextValues, handlers: handlers, dragOverId: dragOverId }, `sidebar-${sidebar.id}`))), _jsx(MorePanelsButton, { panels: leftSidebars, contextValues: contextValues, handlers: handlers, side: "right" })] })), _jsx("div", { className: "flex-1" }), _jsx(Separator, {}), workspaces.map((workspace, index) => {
|
|
75
76
|
const active = workspace.id === workspaceId;
|
|
76
77
|
const numberKey = index < 9 ? `${index + 1}` : undefined;
|
|
77
|
-
return (_jsx(React.Fragment, { children: _jsx(WorkspaceButton, { active: active, onClick: () => handlers.onWorkspaceClick(workspace.id), workspace: workspace, numberKey: numberKey }) }, workspace.id));
|
|
78
|
-
}), _jsx(HelpButton, { className: "h-9 w-9 rounded-md border border-transparent p-0 text-gray-500 hover:border-gray-200 hover:bg-gray-50 hover:text-gray-800 [&_svg]:h-5 [&_svg]:w-5 [&_svg]:p-0" })] }) }));
|
|
78
|
+
return (_jsx(React.Fragment, { children: _jsx(WorkspaceButton, { active: active, onClick: () => handlers.onWorkspaceClick(workspace.id), workspace: workspace, numberKey: numberKey, showSidebarLabels: showSidebarLabels }) }, workspace.id));
|
|
79
|
+
}), _jsx(Separator, {}), _jsx(HelpButton, { className: "h-9 w-9 rounded-md border border-transparent p-0 text-gray-500 hover:border-gray-200 hover:bg-gray-50 hover:text-gray-800 [&_svg]:h-5 [&_svg]:w-5 [&_svg]:p-0" })] }) }));
|
|
79
80
|
}
|
|
80
81
|
//# sourceMappingURL=WorkspaceRail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRail.js","sourceRoot":"","sources":["../../../src/editor/sidebar/WorkspaceRail.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkspaceRail.js","sourceRoot":"","sources":["../../../src/editor/sidebar/WorkspaceRail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export function WorkspaceRailMobile() {
|
|
|
8
8
|
const { contextValues, handlers, getVisibleItems, dragOverId } = useNavigationPanelLogic();
|
|
9
9
|
if (!contextValues)
|
|
10
10
|
return null;
|
|
11
|
-
const { workspaceId, sidebars,
|
|
11
|
+
const { workspaceId, sidebars, showSidebarLabels, visibleWorkspaces } = contextValues;
|
|
12
12
|
const isEditorWorkspace = workspaceId === "editor";
|
|
13
13
|
const currentWorkspace = visibleWorkspaces?.find((w) => w.id === workspaceId);
|
|
14
14
|
const hasSidebars = currentWorkspace?.supportsSidebars ?? false;
|
|
@@ -28,7 +28,7 @@ export function WorkspaceRailMobile() {
|
|
|
28
28
|
if (settings)
|
|
29
29
|
mobileWorkspaces.push(settings);
|
|
30
30
|
}
|
|
31
|
-
return (_jsxs("div", { className: "grid w-full max-w-full min-w-0 grid-cols-[auto_12px_minmax(0,1fr)] items-center justify-between gap-0 overflow-hidden border-t border-gray-200 bg-gray-50/50 p-1.5 pb-[max(0.375rem,env(safe-area-inset-bottom))]", "data-testid": "bottom-row", children: [mobileWorkspaces.length > 0 && (_jsx(MobileWorkspacePopover, { workspaces: mobileWorkspaces, currentWorkspaceId: workspaceId, onWorkspaceSelect: handlers.onWorkspaceClick,
|
|
31
|
+
return (_jsxs("div", { className: "grid w-full max-w-full min-w-0 grid-cols-[auto_12px_minmax(0,1fr)] items-center justify-between gap-0 overflow-hidden border-t border-gray-200 bg-gray-50/50 p-1.5 pb-[max(0.375rem,env(safe-area-inset-bottom))]", "data-testid": "bottom-row", children: [mobileWorkspaces.length > 0 && (_jsx(MobileWorkspacePopover, { workspaces: mobileWorkspaces, currentWorkspaceId: workspaceId, onWorkspaceSelect: handlers.onWorkspaceClick, showSidebarLabels: showSidebarLabels })), visibleSidebarItems.length > 0 ? _jsx(Separator, {}) : _jsx("div", {}), _jsxs("div", { className: "flex min-w-0 flex-row overflow-hidden", children: [_jsx("div", { className: "scrollbar-hide flex min-w-0 gap-1 overflow-x-auto", children: isEditorWorkspace &&
|
|
32
32
|
visibleSidebarItems.map((sidebar) => (_jsx(NavigationPanelItem, { sidebar: sidebar, contextValues: contextValues, handlers: handlers, dragOverId: dragOverId, isMobile: true }, `sidebar-${sidebar.id}`))) }), isEditorWorkspace && mobileSidebars.length > 0 && (_jsx(MorePanelsButton, { panels: mobileSidebars, contextValues: contextValues, handlers: handlers }))] })] }));
|
|
33
33
|
}
|
|
34
34
|
//# sourceMappingURL=WorkspaceRailMobile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceRailMobile.js","sourceRoot":"","sources":["../../../src/editor/sidebar/WorkspaceRailMobile.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAC7B,cAAK,SAAS,EAAC,gEAAgE,GAAG,CACnF,CAAC;AAEF,MAAM,UAAU,mBAAmB;IACjC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,GAC5D,uBAAuB,EAAE,CAAC;IAE5B,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"WorkspaceRailMobile.js","sourceRoot":"","sources":["../../../src/editor/sidebar/WorkspaceRailMobile.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { ItemWithSubtree } from "../../types";
|
|
2
2
|
import type { ItemDescriptor } from "../pageModel";
|
|
3
3
|
import type { ItemTreeNodeData } from "../services/contentService";
|
|
4
|
+
/**
|
|
5
|
+
* State of a per-item subitem-count stream. `loading` is the brief gap
|
|
6
|
+
* before the first chunk arrives, an object carries the running count and
|
|
7
|
+
* whether the backend stream has finished, and `error` indicates failure.
|
|
8
|
+
*/
|
|
9
|
+
export type SubitemCountState = "loading" | "error" | {
|
|
10
|
+
count: number;
|
|
11
|
+
complete: boolean;
|
|
12
|
+
};
|
|
4
13
|
export type SelectedTreeItemInput = Pick<ItemTreeNodeData, "id"> & Partial<Pick<ItemTreeNodeData, "displayName" | "idPath" | "language" | "name" | "path" | "version">>;
|
|
5
14
|
export type ItemCollectionEditorProps = {
|
|
6
15
|
/** Currently selected items with includeSubitems flag */
|
|
@@ -34,9 +43,24 @@ export type ItemCollectionEditorProps = {
|
|
|
34
43
|
/** Message when no items selected */
|
|
35
44
|
emptyMessage?: string;
|
|
36
45
|
emptyHint?: string;
|
|
37
|
-
/** Height of the editor
|
|
38
|
-
height?: number;
|
|
46
|
+
/** Height of the editor. Accepts a number (px) or any CSS length (e.g. "100%"). */
|
|
47
|
+
height?: number | string;
|
|
48
|
+
/**
|
|
49
|
+
* Optional subitem counts keyed by item id. Value is "loading" before the
|
|
50
|
+
* first chunk arrives, "error" on failure, or an object carrying the
|
|
51
|
+
* latest count plus a `complete` flag that flips to true once the backend
|
|
52
|
+
* stream finishes. Rendered next to the Subitems toggle when an item has
|
|
53
|
+
* includeSubitems enabled.
|
|
54
|
+
*/
|
|
55
|
+
subitemCounts?: Record<string, SubitemCountState>;
|
|
56
|
+
/**
|
|
57
|
+
* Tree expansion hint. Brace-wrapped, slash-separated GUID path(s). The
|
|
58
|
+
* underlying ContentTree extracts every `{guid}` from the string and
|
|
59
|
+
* expands those nodes, so multiple item paths can be concatenated to
|
|
60
|
+
* expand to several items at once.
|
|
61
|
+
*/
|
|
62
|
+
expandIdPath?: string;
|
|
39
63
|
/** LocalStorage key for splitter position */
|
|
40
64
|
localStorageKey?: string;
|
|
41
65
|
};
|
|
42
|
-
export declare function ItemCollectionEditor({ items, selectedInTree, onSelectedInTreeChange, selectedFromList, onSelectedFromListChange, onAddToList, onRemoveFromList, onAddItem, onRemoveItem, onToggleSubitems, language, rootItemIds, selectedItemsLabel, emptyMessage, emptyHint, height, localStorageKey, }: ItemCollectionEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
export declare function ItemCollectionEditor({ items, selectedInTree, onSelectedInTreeChange, selectedFromList, onSelectedFromListChange, onAddToList, onRemoveFromList, onAddItem, onRemoveItem, onToggleSubitems, language, rootItemIds, selectedItemsLabel, emptyMessage, emptyHint, height, subitemCounts, expandIdPath, localStorageKey, }: ItemCollectionEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -8,7 +8,7 @@ import { useEditContext } from "../client/editContext";
|
|
|
8
8
|
import { TreeListSelector } from "./TreeListSelector";
|
|
9
9
|
import { Splitter } from "./Splitter";
|
|
10
10
|
import { SimpleIconButton } from "./SimpleIconButton";
|
|
11
|
-
export function ItemCollectionEditor({ items, selectedInTree, onSelectedInTreeChange, selectedFromList, onSelectedFromListChange, onAddToList, onRemoveFromList, onAddItem, onRemoveItem, onToggleSubitems, language, rootItemIds = [], selectedItemsLabel = "Selected Items", emptyMessage = "No items selected", emptyHint = "Browse or search to add items", height = 340, localStorageKey = "item-collection-editor-splitter", }) {
|
|
11
|
+
export function ItemCollectionEditor({ items, selectedInTree, onSelectedInTreeChange, selectedFromList, onSelectedFromListChange, onAddToList, onRemoveFromList, onAddItem, onRemoveItem, onToggleSubitems, language, rootItemIds = [], selectedItemsLabel = "Selected Items", emptyMessage = "No items selected", emptyHint = "Browse or search to add items", height = 340, subitemCounts, expandIdPath, localStorageKey = "item-collection-editor-splitter", }) {
|
|
12
12
|
const editContext = useEditContext();
|
|
13
13
|
const [isDragOverList, setIsDragOverList] = useState(false);
|
|
14
14
|
const handleDropFromTree = useCallback((event) => {
|
|
@@ -48,16 +48,38 @@ export function ItemCollectionEditor({ items, selectedInTree, onSelectedInTreeCh
|
|
|
48
48
|
setIsDragOverList(false);
|
|
49
49
|
}
|
|
50
50
|
}, []);
|
|
51
|
-
return (_jsx("div", { className: "overflow-hidden rounded-xl border border-gray-200 bg-white", style: { height: `${height}px` }, children: _jsx(Splitter, { className: "h-full", direction: "horizontal", localStorageKey: localStorageKey, panels: [
|
|
51
|
+
return (_jsx("div", { className: "overflow-hidden rounded-xl border border-gray-200 bg-white", style: { height: typeof height === "number" ? `${height}px` : height }, children: _jsx(Splitter, { className: "h-full", direction: "horizontal", localStorageKey: localStorageKey, panels: [
|
|
52
52
|
{
|
|
53
53
|
name: "treeSelector",
|
|
54
54
|
defaultSize: 50,
|
|
55
|
-
content: (_jsx(TreeListSelector, { language: language, rootItemIds: rootItemIds, selectedItemIds: selectedInTree.map((item) => item.id), onSelectionChange: onSelectedInTreeChange, onDoubleClick: onAddItem, onItemSelected: onAddItem, enableDragAndDrop: true, isDraggable: () => true, showGrabCursorForDraggableNodes: true })),
|
|
55
|
+
content: (_jsx(TreeListSelector, { language: language, rootItemIds: rootItemIds, selectedItemIds: selectedInTree.map((item) => item.id), onSelectionChange: onSelectedInTreeChange, onDoubleClick: onAddItem, onItemSelected: onAddItem, expandIdPath: expandIdPath, enableDragAndDrop: true, isDraggable: () => true, showGrabCursorForDraggableNodes: true })),
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
name: "selectedItems",
|
|
59
59
|
defaultSize: 50,
|
|
60
|
-
content: (_jsx("div", { className: "relative h-full w-full", onDrop: handleDropFromTree, onDragOver: handleDragOverList, onDragLeave: handleDragLeaveList, children: _jsxs("div", { className: `flex h-full min-h-0 flex-col overflow-hidden bg-gray-50/30 transition-colors ${isDragOverList ? "bg-blue-50 ring-2 ring-inset ring-blue-300" : ""}`, children: [
|
|
60
|
+
content: (_jsx("div", { className: "relative h-full w-full", onDrop: handleDropFromTree, onDragOver: handleDragOverList, onDragLeave: handleDragLeaveList, children: _jsxs("div", { className: `flex h-full min-h-0 flex-col overflow-hidden bg-gray-50/30 transition-colors ${isDragOverList ? "bg-blue-50 ring-2 ring-inset ring-blue-300" : ""}`, children: [_jsxs("div", { className: "flex h-[37px] shrink-0 items-center gap-2 border-b border-gray-100 bg-gray-50/50 px-3", children: [_jsx("span", { className: "text-xs font-semibold tracking-wider text-gray-600 uppercase", children: selectedItemsLabel }), (() => {
|
|
61
|
+
if (items.length === 0)
|
|
62
|
+
return null;
|
|
63
|
+
let total = 0;
|
|
64
|
+
let pending = false;
|
|
65
|
+
for (const item of items) {
|
|
66
|
+
total += 1;
|
|
67
|
+
if (item.includeSubitems && subitemCounts) {
|
|
68
|
+
const c = subitemCounts[item.descriptor.id];
|
|
69
|
+
if (c === undefined || c === "loading") {
|
|
70
|
+
pending = true;
|
|
71
|
+
}
|
|
72
|
+
else if (c !== "error") {
|
|
73
|
+
total += c.count;
|
|
74
|
+
if (!c.complete)
|
|
75
|
+
pending = true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return (_jsxs("span", { className: "text-muted-foreground text-[11px] font-medium tabular-nums", title: pending
|
|
80
|
+
? "Counting subitems…"
|
|
81
|
+
: `${total} item${total === 1 ? "" : "s"} will be translated`, children: [total, pending && "+"] }));
|
|
82
|
+
})()] }), items.length > 0 ? (_jsx("div", { className: "min-h-0 flex-1 space-y-1.5 overflow-y-auto p-2", children: items.map((item, index) => (_jsx("div", { className: `group flex cursor-pointer flex-col gap-1 rounded-lg border p-2 transition-all ${selectedFromList.includes(item)
|
|
61
83
|
? "border-primary/30 bg-primary/5 ring-primary/20 ring-1"
|
|
62
84
|
: "hover:border-primary/20 border-gray-200 bg-white"}`, onClick: (e) => {
|
|
63
85
|
if (e.ctrlKey || e.metaKey) {
|
|
@@ -84,7 +106,24 @@ export function ItemCollectionEditor({ items, selectedInTree, onSelectedInTreeCh
|
|
|
84
106
|
}, children: _jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [_jsx("span", { className: "truncate text-[13px] font-semibold text-gray-900", children: item.descriptor.displayName ||
|
|
85
107
|
item.descriptor.name ||
|
|
86
108
|
item.descriptor.path ||
|
|
87
|
-
item.descriptor.id }), item.descriptor.path && (_jsx("span", { className: "text-muted-foreground truncate text-[10px]", title: item.descriptor.path, children: item.descriptor.path }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [_jsx(Label, { htmlFor: `subpages-${item.descriptor.id}-${index}`, className: "cursor-pointer text-[10px] font-medium whitespace-nowrap text-gray-500", onClick: (e) => e.stopPropagation(), children: "Subitems" }),
|
|
109
|
+
item.descriptor.id }), item.descriptor.path && (_jsx("span", { className: "text-muted-foreground truncate text-[10px]", title: item.descriptor.path, children: item.descriptor.path }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [_jsx(Label, { htmlFor: `subpages-${item.descriptor.id}-${index}`, className: "cursor-pointer text-[10px] font-medium whitespace-nowrap text-gray-500", onClick: (e) => e.stopPropagation(), children: "Subitems" }), item.includeSubitems && subitemCounts && (() => {
|
|
110
|
+
const c = subitemCounts[item.descriptor.id];
|
|
111
|
+
if (c === undefined)
|
|
112
|
+
return null;
|
|
113
|
+
const isObject = c !== "loading" && c !== "error";
|
|
114
|
+
const count = isObject ? c.count : null;
|
|
115
|
+
const streaming = isObject && !c.complete;
|
|
116
|
+
const text = c === "loading"
|
|
117
|
+
? "…"
|
|
118
|
+
: c === "error"
|
|
119
|
+
? "?"
|
|
120
|
+
: `+${count}${streaming ? "+" : ""}`;
|
|
121
|
+
return (_jsx("span", { className: "text-muted-foreground text-[10px] font-medium tabular-nums whitespace-nowrap", title: count !== null
|
|
122
|
+
? `${count}${streaming ? "+" : ""} subitem${count === 1 ? "" : "s"} will be included${streaming ? " (still counting)" : ""}`
|
|
123
|
+
: c === "loading"
|
|
124
|
+
? "Counting subitems…"
|
|
125
|
+
: "Failed to count subitems", children: text }));
|
|
126
|
+
})(), _jsx(Switch, { id: `subpages-${item.descriptor.id}-${index}`, checked: item.includeSubitems, onCheckedChange: () => onToggleSubitems(index), onClick: (e) => e.stopPropagation(), className: "scale-[0.6]" }), _jsx(Button, { variant: "ghost", size: "sm", className: "text-muted-foreground hover:bg-destructive/10 hover:text-destructive h-6 w-6 shrink-0 p-0 opacity-0 transition-all group-hover:opacity-100", onClick: (e) => {
|
|
88
127
|
e.stopPropagation();
|
|
89
128
|
onRemoveItem(index);
|
|
90
129
|
}, children: _jsx(X, { className: "h-3.5 w-3.5" }) })] })] }) }, `${item.descriptor.id}-${index}`))) })) : (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col items-center justify-center gap-3 p-8 text-center", children: [_jsx("div", { className: "rounded-full bg-gray-100/50 p-4 ring-8 ring-gray-50", children: _jsx(ClipboardCheck, { className: "h-6 w-6 text-gray-300", strokeWidth: 1 }) }), _jsxs("div", { className: "space-y-1", children: [_jsx("p", { className: "text-sm font-medium text-gray-500", children: isDragOverList ? "Drop items here" : emptyMessage }), _jsx("p", { className: "text-muted-foreground text-xs", children: isDragOverList
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemCollectionEditor.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemCollectionEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ItemCollectionEditor.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemCollectionEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -259,7 +259,7 @@ const NodeContent = memo(({ node, isExpanded, isSelected, onSelect, onToggleNode
|
|
|
259
259
|
if (node.hasChildren && node.children === null) {
|
|
260
260
|
return (_jsx("div", { className: "flex h-[23px] w-[24px] items-center justify-center", children: _jsx(Loader2, { className: "h-4 w-4 animate-spin text-gray-500" }) }));
|
|
261
261
|
}
|
|
262
|
-
return (_jsx("div", { className: "flex h-[23px] w-[24px] items-center justify-center", children: _jsx("span", { onMouseDown:
|
|
262
|
+
return (_jsx("div", { className: "flex h-[23px] w-[24px] items-center justify-center", children: _jsx("span", { onMouseDown: (e) => e.stopPropagation(), onClick: handleToggle, onDoubleClick: handleToggleDoubleClick, className: `toggle inline-block transform cursor-pointer text-gray-500 transition duration-150 select-none ${isExpanded ? "rotate-90" : "rotate-0"}`, children: _jsx(ChevronRight, { strokeWidth: 1, className: "h-5.5 w-5.5" }) }) }));
|
|
263
263
|
};
|
|
264
264
|
const handleContextMenu = useCallback((e) => {
|
|
265
265
|
e.stopPropagation();
|