@cueloop/client 0.1.0-alpha.93 → 0.1.0-alpha.95
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/package.json +12 -12
- package/src/{annotation-palette.ts → annotations/annotation-palette.ts} +1 -1
- package/src/{components → annotations/components}/AnnotationCards.stories.tsx +4 -4
- package/src/{components → annotations/components}/AnnotationCards.tsx +7 -7
- package/src/{components → annotations/components}/DiscussionMarkerRail.stories.tsx +3 -3
- package/src/{components → annotations/components}/DiscussionMarkerRail.tsx +5 -5
- package/src/{discussions.ts → annotations/discussions.ts} +1 -1
- package/src/{use-annotation-surface.tsx → annotations/use-annotation-surface.tsx} +7 -7
- package/src/{App.appearance.test.tsx → app/App.appearance.test.tsx} +1 -1
- package/src/{App.autoclose.test.tsx → app/App.autoclose.test.tsx} +1 -1
- package/src/{App.deleted-scroll.test.tsx → app/App.deleted-scroll.test.tsx} +3 -3
- package/src/{App.diff.test.tsx → app/App.diff.test.tsx} +2 -2
- package/src/{App.export.test.tsx → app/App.export.test.tsx} +1 -1
- package/src/{App.identity.test.tsx → app/App.identity.test.tsx} +6 -1
- package/src/{App.plan-render.test.tsx → app/App.plan-render.test.tsx} +2 -2
- package/src/{App.plan-review.test.tsx → app/App.plan-review.test.tsx} +3 -3
- package/src/{App.prototype-markdown.test.tsx → app/App.prototype-markdown.test.tsx} +2 -2
- package/src/{App.prototype.test.tsx → app/App.prototype.test.tsx} +2 -2
- package/src/{App.readonly.test.tsx → app/App.readonly.test.tsx} +1 -1
- package/src/{App.regression.test.tsx → app/App.regression.test.tsx} +1 -1
- package/src/{App.rendering.test.tsx → app/App.rendering.test.tsx} +1 -1
- package/src/{App.share-dialog.test.tsx → app/App.share-dialog.test.tsx} +2 -2
- package/src/{App.submit-confirm.test.tsx → app/App.submit-confirm.test.tsx} +1 -1
- package/src/{App.test.tsx → app/App.test.tsx} +2 -2
- package/src/{App.toast.test.tsx → app/App.toast.test.tsx} +2 -2
- package/src/{App.tsx → app/App.tsx} +68 -37
- package/src/{App.visual.test.tsx → app/App.visual.test.tsx} +4 -4
- package/src/{App.walk.test.tsx → app/App.walk.test.tsx} +2 -2
- package/src/{App.workbench.test.tsx → app/App.workbench.test.tsx} +85 -3
- package/src/{app-key-state.ts → app/app-key-state.ts} +4 -4
- package/src/{app-screens.tsx → app/app-screens.tsx} +31 -31
- package/src/{app-view-model.ts → app/app-view-model.ts} +6 -6
- package/src/{components → app/components}/AppHeader.stories.tsx +4 -4
- package/src/{components → app/components}/AppHeader.tsx +3 -3
- package/src/{components → app/components}/AppShell.brand.test.tsx +2 -2
- package/src/{components → app/components}/AppShell.extensions.test.tsx +2 -2
- package/src/{components → app/components}/AppShell.stories.tsx +2 -2
- package/src/{components → app/components}/AppShell.tsx +12 -9
- package/src/{components → app/components}/AppShell.zoom.test.tsx +4 -4
- package/src/{components → app/components}/Breadcrumb.stories.tsx +2 -2
- package/src/{components → app/components}/Breadcrumb.tsx +2 -2
- package/src/{components → app/components}/MenuBar.stories.tsx +2 -2
- package/src/{components → app/components}/MenuBar.tsx +3 -3
- package/src/{components → app/components}/PaneGrid.stories.tsx +2 -2
- package/src/{components → app/components}/PaneGrid.tsx +1 -1
- package/src/{components → app/components}/PanelColumn.stories.tsx +2 -2
- package/src/{components → app/components}/PanelColumn.tsx +2 -2
- package/src/{components → app/components}/ShellHeader.stories.tsx +3 -3
- package/src/{components → app/components}/ShellHeader.tsx +2 -2
- package/src/{components → app/components}/WorkspacePanels.stories.tsx +3 -3
- package/src/{components → app/components}/WorkspacePanels.tsx +9 -5
- package/src/{components → app/components}/pages/Workspace.stories.tsx +4 -4
- package/src/{intent-dispatch.test.ts → app/intent-dispatch.test.ts} +7 -3
- package/src/{intent-dispatch.ts → app/intent-dispatch.ts} +12 -6
- package/src/{ready-signal.test.ts → app/ready-signal.test.ts} +1 -1
- package/src/{run.ts → app/run.ts} +12 -6
- package/src/{serve.ts → app/serve.ts} +1 -1
- package/src/{version.ts → app/version.ts} +1 -1
- package/src/{components → appearance/components}/theme-context.stories.tsx +2 -2
- package/src/{components → diff/components}/AnnotatableFileView.stories.tsx +2 -2
- package/src/{components → diff/components}/AnnotatableFileView.test.tsx +8 -2
- package/src/{components → diff/components}/AnnotatableFileView.tsx +3 -3
- package/src/{components → diff/components}/BareWorkbenchFileView.stories.tsx +2 -2
- package/src/{components → diff/components}/BareWorkbenchFileView.tsx +2 -2
- package/src/{components → diff/components}/DiffContentView.scroll.test.tsx +4 -4
- package/src/{components → diff/components}/DiffContentView.split.test.tsx +4 -4
- package/src/{components → diff/components}/DiffContentView.stories.tsx +5 -5
- package/src/{components → diff/components}/DiffContentView.syntax.test.tsx +3 -3
- package/src/{components → diff/components}/DiffContentView.tsx +13 -13
- package/src/{components → diff/components}/WalkWizard.stories.tsx +2 -2
- package/src/{components → diff/components}/WalkWizard.tsx +4 -4
- package/src/{components → diff/components}/diff-content-view-layout.test.ts +2 -2
- package/src/{components → diff/components}/diff-content-view-layout.ts +2 -2
- package/src/{diff-syntax.ts → diff/diff-syntax.ts} +1 -1
- package/src/{view-diff.ts → diff/view-diff.ts} +4 -4
- package/src/index.ts +8 -8
- package/src/{components → integrations/components}/ExtensionZone.stories.tsx +1 -1
- package/src/{components → integrations/components}/ExtensionZone.tsx +3 -3
- package/src/{components → integrations/components}/ShareDialog.stories.tsx +2 -2
- package/src/{components → integrations/components}/ShareDialog.tsx +11 -11
- package/src/{integrations.test.ts → integrations/integrations.test.ts} +1 -1
- package/src/{integrations.ts → integrations/integrations.ts} +1 -1
- package/src/{components → keyboard/components}/CompletionOverlay.stories.tsx +2 -2
- package/src/{components → keyboard/components}/CompletionOverlay.tsx +4 -4
- package/src/{components → keyboard/components}/HandleChipsInput.stories.tsx +2 -2
- package/src/{components → keyboard/components}/HandleChipsInput.test.tsx +2 -2
- package/src/{components → keyboard/components}/HandleChipsInput.tsx +3 -3
- package/src/{components → keyboard/components}/KeybindsDialog.stories.tsx +2 -2
- package/src/{components → keyboard/components}/KeybindsDialog.tsx +3 -3
- package/src/{components → keyboard/components}/NavModeHint.stories.tsx +2 -2
- package/src/{components → keyboard/components}/NavModeHint.tsx +1 -1
- package/src/{components → keyboard/components}/SlashComposer.stories.tsx +3 -3
- package/src/{components → keyboard/components}/SlashComposer.tsx +3 -3
- package/src/{key-bindings.test.ts → keyboard/key-bindings.test.ts} +1 -1
- package/src/{keymap.test.ts → keyboard/keymap.test.ts} +1 -1
- package/src/{keymap.ts → keyboard/keymap.ts} +1 -1
- package/src/{slash-palette.ts → keyboard/slash-palette.ts} +1 -1
- package/src/{components → markdown/components}/MarkdownGridBlock.stories.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownGridBlock.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownThreadEditor.stories.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownThreadEditor.test.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownThreadEditor.tsx +1 -1
- package/src/{components → markdown/components}/ThreadView.selection.test.tsx +4 -4
- package/src/{components → markdown/components}/ThreadView.slash.test.tsx +6 -6
- package/src/{components → markdown/components}/ThreadView.stories.tsx +4 -4
- package/src/{components → markdown/components}/ThreadView.tsx +13 -13
- package/src/{mark-runs.ts → markdown/mark-runs.ts} +1 -1
- package/src/{markdown-editor-syntax-style.ts → markdown/markdown-editor-syntax-style.ts} +1 -1
- package/src/{thread-code-syntax.ts → markdown/thread-code-syntax.ts} +3 -3
- package/src/{use-thread-body-editing.tsx → markdown/use-thread-body-editing.tsx} +2 -2
- package/src/{view-plan.ts → markdown/view-plan.ts} +3 -3
- package/src/{components → prototype/components}/PrototypeContentView.stories.tsx +2 -2
- package/src/{components → prototype/components}/PrototypeContentView.tsx +5 -5
- package/src/{components → settings/components}/SettingsDialog.stories.tsx +3 -3
- package/src/{components → settings/components}/SettingsDialog.tsx +7 -7
- package/src/{components → settings/components}/SettingsRows.stories.tsx +2 -2
- package/src/{components → settings/components}/SettingsRows.tsx +2 -2
- package/src/{components → settings/components}/quick-actions-editor.stories.tsx +2 -2
- package/src/{components → settings/components}/quick-actions-editor.test.tsx +1 -1
- package/src/{components → settings/components}/quick-actions-editor.tsx +3 -3
- package/src/{config.test.ts → settings/config.test.ts} +2 -2
- package/src/{config.ts → settings/config.ts} +8 -3
- package/src/{use-settings-dialog.tsx → settings/use-settings-dialog.tsx} +2 -2
- package/src/{components → stories}/stories-app.tsx +8 -8
- package/src/{components → stories}/stories.test.tsx +2 -2
- package/src/{components → stories}/story-fixtures.ts +2 -2
- package/src/{components → stories}/story-tree.test.ts +1 -1
- package/src/{components → stories}/story.ts +4 -4
- package/src/{components → terminal/components}/AnsiScreen.stories.tsx +1 -1
- package/src/{components → terminal/components}/AnsiScreen.tsx +2 -2
- package/src/{components → terminal/components}/terminal-pane.test.tsx +1 -1
- package/src/{ghostty-terminal.ts → terminal/ghostty-terminal.ts} +1 -1
- package/src/{pty.ts → terminal/pty.ts} +1 -1
- package/src/{test-support.test.ts → testing/test-support.test.ts} +1 -1
- package/src/{test-support.ts → testing/test-support.ts} +1 -1
- package/src/{components → thread/components}/ThreadFooter.stories.tsx +2 -2
- package/src/{components → thread/components}/ThreadFooter.test.tsx +2 -2
- package/src/{components → thread/components}/ThreadFooter.tsx +4 -4
- package/src/{components → thread/components}/ThreadTree.stories.tsx +3 -3
- package/src/{components → thread/components}/ThreadTree.tsx +8 -8
- package/src/{thread-controller.live-diff.test.ts → thread/thread-controller.live-diff.test.ts} +31 -1
- package/src/{thread-controller.share.test.ts → thread/thread-controller.share.test.ts} +1 -1
- package/src/{thread-controller.tree.test.ts → thread/thread-controller.tree.test.ts} +1 -1
- package/src/{thread-controller.ts → thread/thread-controller.ts} +43 -14
- package/src/{components → ui/components}/CodeBlock.stories.tsx +2 -2
- package/src/{components → ui/components}/CodeBlock.tsx +2 -2
- package/src/{components → ui/components}/ConfirmCard.stories.tsx +3 -3
- package/src/{components → ui/components}/ConfirmCard.tsx +12 -7
- package/src/{components → ui/components}/ConfirmDialog.stories.tsx +2 -2
- package/src/{components → ui/components}/ConfirmDialog.tsx +2 -2
- package/src/{components → ui/components}/OverlayScrollbar.stories.tsx +2 -2
- package/src/{components → ui/components}/OverlayScrollbar.test.tsx +5 -5
- package/src/{components → ui/components}/OverlayScrollbar.tsx +2 -2
- package/src/{components → ui/components}/PromptDialog.stories.tsx +2 -2
- package/src/{components → ui/components}/PromptDialog.test.tsx +2 -2
- package/src/{components → ui/components}/PromptDialog.tsx +2 -2
- package/src/{components → ui/components}/RootOverlay.stories.tsx +2 -2
- package/src/{components → ui/components}/ScrollArea.stories.tsx +2 -2
- package/src/{components → ui/components}/ScrollArea.tsx +1 -1
- package/src/{components → ui/components}/Toast.stories.tsx +2 -2
- package/src/{components → ui/components}/Toast.tsx +2 -2
- package/src/{components → ui/components}/Tooltip.stories.tsx +2 -2
- package/src/{components → ui/components}/Tooltip.tsx +1 -1
- package/src/{components → ui/components}/menu-control.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Button.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Button.tsx +2 -2
- package/src/{components → ui/components}/primitives/Card.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Card.tsx +2 -2
- package/src/{components → ui/components}/primitives/Dialog.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Dialog.test.tsx +2 -2
- package/src/{components → ui/components}/primitives/Dialog.tsx +2 -2
- package/src/{components → ui/components}/primitives/DialogActions.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/DialogActions.tsx +1 -1
- package/src/{components → ui/components}/primitives/IconButton.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/IconButton.tsx +1 -1
- package/src/{components → ui/components}/primitives/StatusBar.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/StatusBar.tsx +2 -2
- package/src/{components → ui/components}/primitives/Switch.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Switch.tsx +2 -2
- package/src/{components → ui/components}/primitives/Tabs.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Tabs.tsx +2 -2
- package/src/{components → ui/components}/primitives/Toolbar.stories.tsx +1 -1
- package/src/{components → ui/components}/primitives/Tree.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Tree.tsx +2 -2
- package/src/{components → ui/components}/syntax-highlight.ts +1 -1
- package/src/{components → workbench/components}/ChangesColumn.stories.tsx +2 -2
- package/src/{components → workbench/components}/ChangesColumn.tsx +7 -7
- package/src/{components → workbench/components}/ChangesFileTree.test.tsx +2 -2
- package/src/{components → workbench/components}/EditorGrid.split.test.tsx +1 -1
- package/src/{components → workbench/components}/EditorGrid.stories.tsx +2 -2
- package/src/{components → workbench/components}/EditorGrid.tabs.test.tsx +2 -2
- package/src/{components → workbench/components}/EditorGrid.tsx +8 -8
- package/src/{components → workbench/components}/EditorGrid.zoom.test.tsx +2 -2
- package/src/{components → workbench/components}/FileContentsView.stories.tsx +2 -2
- package/src/{components → workbench/components}/FileContentsView.test.tsx +2 -2
- package/src/{components → workbench/components}/FileContentsView.tsx +4 -4
- package/src/{components → workbench/components}/GridTabContent.actions.test.tsx +6 -6
- package/src/{components → workbench/components}/GridTabContent.stories.tsx +4 -4
- package/src/{components → workbench/components}/GridTabContent.tsx +4 -4
- package/src/{components → workbench/components}/ProjectTreeView.stories.tsx +2 -2
- package/src/{components → workbench/components}/ProjectTreeView.test.tsx +2 -2
- package/src/{components → workbench/components}/ProjectTreeView.tsx +5 -5
- package/src/{components → workbench/components}/TreePane.stories.tsx +3 -3
- package/src/{components → workbench/components}/TreePane.tsx +6 -6
- package/src/{components → workbench/components}/WelcomePlayground.stories.tsx +2 -2
- package/src/{components → workbench/components}/WelcomePlayground.test.tsx +10 -3
- package/src/{components → workbench/components}/WelcomePlayground.tsx +5 -5
- package/src/{components → workbench/components}/file-tree.ts +1 -1
- package/src/{use-changes-workbench.ts → workbench/use-changes-workbench.ts} +2 -2
- package/src/{use-remember-layout.ts → workbench/use-remember-layout.ts} +2 -2
- package/src/{use-repo-changes.ts → workbench/use-repo-changes.ts} +5 -1
- /package/src/{thread-selection.test.ts → annotations/thread-selection.test.ts} +0 -0
- /package/src/{thread-selection.ts → annotations/thread-selection.ts} +0 -0
- /package/src/{App.focus.test.ts → app/App.focus.test.ts} +0 -0
- /package/src/{launch-layout.test.ts → app/launch-layout.test.ts} +0 -0
- /package/src/{launch-layout.ts → app/launch-layout.ts} +0 -0
- /package/src/{ready-signal.ts → app/ready-signal.ts} +0 -0
- /package/src/{serve.test.ts → app/serve.test.ts} +0 -0
- /package/src/{components → appearance/components}/theme-context.tsx +0 -0
- /package/src/{theme-presets.test.ts → appearance/theme-presets.test.ts} +0 -0
- /package/src/{theme-presets.ts → appearance/theme-presets.ts} +0 -0
- /package/src/{theme.ts → appearance/theme.ts} +0 -0
- /package/src/{visual → appearance/visual}/contrast.test.ts +0 -0
- /package/src/{visual → appearance/visual}/contrast.ts +0 -0
- /package/src/{diff-fold.test.ts → diff/diff-fold.test.ts} +0 -0
- /package/src/{diff-fold.ts → diff/diff-fold.ts} +0 -0
- /package/src/{diff-hunk-curate.test.ts → diff/diff-hunk-curate.test.ts} +0 -0
- /package/src/{diff-hunk-curate.ts → diff/diff-hunk-curate.ts} +0 -0
- /package/src/{diff-intraline.test.ts → diff/diff-intraline.test.ts} +0 -0
- /package/src/{diff-intraline.ts → diff/diff-intraline.ts} +0 -0
- /package/src/{diff-syntax.test.ts → diff/diff-syntax.test.ts} +0 -0
- /package/src/{split-diff.test.ts → diff/split-diff.test.ts} +0 -0
- /package/src/{split-diff.ts → diff/split-diff.ts} +0 -0
- /package/src/{view-diff.test.ts → diff/view-diff.test.ts} +0 -0
- /package/src/{walk.test.ts → diff/walk.test.ts} +0 -0
- /package/src/{walk.ts → diff/walk.ts} +0 -0
- /package/src/{attribution.test.ts → integrations/attribution.test.ts} +0 -0
- /package/src/{attribution.ts → integrations/attribution.ts} +0 -0
- /package/src/{client-extension-registry.test.tsx → integrations/client-extension-registry.test.tsx} +0 -0
- /package/src/{client-extension-registry.ts → integrations/client-extension-registry.ts} +0 -0
- /package/src/{clipboard.test.ts → integrations/clipboard.test.ts} +0 -0
- /package/src/{clipboard.ts → integrations/clipboard.ts} +0 -0
- /package/src/{components → integrations/components}/share-dialog-store.ts +0 -0
- /package/src/{editor.test.ts → integrations/editor.test.ts} +0 -0
- /package/src/{editor.ts → integrations/editor.ts} +0 -0
- /package/src/{github-identity.test.ts → integrations/github-identity.test.ts} +0 -0
- /package/src/{github-identity.ts → integrations/github-identity.ts} +0 -0
- /package/src/{herdr.test.ts → integrations/herdr.test.ts} +0 -0
- /package/src/{herdr.ts → integrations/herdr.ts} +0 -0
- /package/src/{pasted-image.test.ts → integrations/pasted-image.test.ts} +0 -0
- /package/src/{pasted-image.ts → integrations/pasted-image.ts} +0 -0
- /package/src/{share.ts → integrations/share.ts} +0 -0
- /package/src/{key-bindings.ts → keyboard/key-bindings.ts} +0 -0
- /package/src/{skills.test.ts → keyboard/skills.test.ts} +0 -0
- /package/src/{skills.ts → keyboard/skills.ts} +0 -0
- /package/src/{slash-palette.test.ts → keyboard/slash-palette.test.ts} +0 -0
- /package/src/{thread-chords.test.ts → keyboard/thread-chords.test.ts} +0 -0
- /package/src/{thread-chords.ts → keyboard/thread-chords.ts} +0 -0
- /package/src/{use-shared-keyboard.ts → keyboard/use-shared-keyboard.ts} +0 -0
- /package/src/{__snapshots__ → markdown/__snapshots__}/view-plan.regression.test.ts.snap +0 -0
- /package/src/{markdown-grid.test.ts → markdown/markdown-grid.test.ts} +0 -0
- /package/src/{markdown-grid.ts → markdown/markdown-grid.ts} +0 -0
- /package/src/{markdown-highlight.test.ts → markdown/markdown-highlight.test.ts} +0 -0
- /package/src/{markdown-highlight.ts → markdown/markdown-highlight.ts} +0 -0
- /package/src/{view-plan.regression.test.ts → markdown/view-plan.regression.test.ts} +0 -0
- /package/src/{view-plan.test.ts → markdown/view-plan.test.ts} +0 -0
- /package/src/{perf → performance}/otlp-trace.test.ts +0 -0
- /package/src/{perf → performance}/otlp-trace.ts +0 -0
- /package/src/{perf → performance}/perf-report.ts +0 -0
- /package/src/{perf → performance}/perf-timings.test.ts +0 -0
- /package/src/{perf → performance}/perf-timings.ts +0 -0
- /package/src/{prototype-browser.test.ts → prototype/prototype-browser.test.ts} +0 -0
- /package/src/{prototype-browser.ts → prototype/prototype-browser.ts} +0 -0
- /package/src/{prototype-pixels.tsx → prototype/prototype-pixels.tsx} +0 -0
- /package/src/{config-identity.test.ts → settings/config-identity.test.ts} +0 -0
- /package/src/{components → stories}/__snapshots__/stories.test.tsx.snap +0 -0
- /package/src/{ansi-screen.test.ts → terminal/ansi-screen.test.ts} +0 -0
- /package/src/{ansi-screen.ts → terminal/ansi-screen.ts} +0 -0
- /package/src/{components → terminal/components}/terminal-pane.ts +0 -0
- /package/src/{ghostty-terminal.test.ts → terminal/ghostty-terminal.test.ts} +0 -0
- /package/src/{kitty-image.test.ts → terminal/kitty-image.test.ts} +0 -0
- /package/src/{kitty-image.ts → terminal/kitty-image.ts} +0 -0
- /package/src/{pty.test.ts → terminal/pty.test.ts} +0 -0
- /package/src/{components → thread/components}/thread-tree.test.ts +0 -0
- /package/src/{components → thread/components}/thread-tree.ts +0 -0
- /package/src/{thread-controller.curate.test.ts → thread/thread-controller.curate.test.ts} +0 -0
- /package/src/{thread-controller.derivation.test.ts → thread/thread-controller.derivation.test.ts} +0 -0
- /package/src/{thread-controller.optimistic.test.ts → thread/thread-controller.optimistic.test.ts} +0 -0
- /package/src/{thread-controller.switch-cache.test.ts → thread/thread-controller.switch-cache.test.ts} +0 -0
- /package/src/{tree-view.test.ts → thread/tree-view.test.ts} +0 -0
- /package/src/{tree-view.ts → thread/tree-view.ts} +0 -0
- /package/src/{components → ui/components}/RootOverlay.tsx +0 -0
- /package/src/{components → ui/components}/menu-control.tsx +0 -0
- /package/src/{components → ui/components}/primitives/Toolbar.tsx +0 -0
- /package/src/{components → ui/components}/primitives/frame.test.ts +0 -0
- /package/src/{components → ui/components}/primitives/frame.ts +0 -0
- /package/src/{components → ui/components}/primitives/icons.ts +0 -0
- /package/src/{components → ui/components}/primitives/tree-model.test.ts +0 -0
- /package/src/{components → ui/components}/primitives/tree-model.ts +0 -0
- /package/src/{components → ui/components}/truncate-text.ts +0 -0
- /package/src/{components → ui/components}/truncate-title.test.ts +0 -0
- /package/src/{components → ui/components}/truncate-title.ts +0 -0
- /package/src/{use-frame-measure.ts → ui/use-frame-measure.ts} +0 -0
- /package/src/{use-terminal-virtualizer.ts → ui/use-terminal-virtualizer.ts} +0 -0
- /package/src/{components → workbench/components}/editor-grid.test.ts +0 -0
- /package/src/{components → workbench/components}/editor-grid.ts +0 -0
- /package/src/{components → workbench/components}/file-tree.test.ts +0 -0
- /package/src/{workbench-snapshot.test.ts → workbench/workbench-snapshot.test.ts} +0 -0
- /package/src/{workbench-snapshot.ts → workbench/workbench-snapshot.ts} +0 -0
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import React, { createContext, useContext } from "react";
|
|
10
|
-
import type { Theme } from "
|
|
11
|
-
import { useComponentTheme } from "
|
|
10
|
+
import type { Theme } from "../../../appearance/theme";
|
|
11
|
+
import { useComponentTheme } from "../../../appearance/components/theme-context";
|
|
12
12
|
import { FRAME_BORDER_STYLE } from "./frame";
|
|
13
13
|
|
|
14
14
|
interface TabsContextValue {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../../stories/story";
|
|
4
4
|
import { Tree } from "./Tree";
|
|
5
5
|
import type { TreeNode } from "./tree-model";
|
|
6
6
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// OpenTUI renderer for the headless tree-model; the caller owns expansion and selection.
|
|
2
2
|
|
|
3
3
|
import React, { useRef } from "react";
|
|
4
|
-
import { DARK, type Theme } from "
|
|
5
|
-
import { isDoubleClick, type ClickStamp } from "
|
|
4
|
+
import { DARK, type Theme } from "../../../appearance/theme";
|
|
5
|
+
import { isDoubleClick, type ClickStamp } from "../../../annotations/thread-selection";
|
|
6
6
|
import { flattenTree, statusMeta, type TreeNode, type TreeTone } from "./tree-model";
|
|
7
7
|
import { NERD_TREE_ICONS, type TreeIcons } from "./icons";
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
extensionToFiletype,
|
|
13
13
|
basenameToFiletype,
|
|
14
14
|
} from "@opentui/core";
|
|
15
|
-
import type { Theme } from "
|
|
15
|
+
import type { Theme } from "../../appearance/theme";
|
|
16
16
|
|
|
17
17
|
/** Markdown fence info -> tree-sitter filetype, with the aliases we accept. */
|
|
18
18
|
export function filetypeFor(language?: string): string | undefined {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { DiffFileContents } from "@cueloop/schema";
|
|
3
|
-
import { DARK } from "
|
|
4
|
-
import type { Story, StoryMeta } from "
|
|
3
|
+
import { DARK } from "../../appearance/theme";
|
|
4
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
5
5
|
import { ChangesColumn } from "./ChangesColumn";
|
|
6
6
|
|
|
7
7
|
export const meta: StoryMeta = { title: "Surfaces/ChangesColumn" };
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
// so the diff reclaims the width. Mirrors the left Threads column on the far side.
|
|
4
4
|
// Co-located here: the state hook that opens it by context and the header toggle.
|
|
5
5
|
|
|
6
|
-
import { ScrollArea } from "
|
|
6
|
+
import { ScrollArea } from "../../ui/components/ScrollArea";
|
|
7
7
|
import React, { useMemo, useState } from "react";
|
|
8
8
|
import { useKeyboard } from "@opentui/react";
|
|
9
9
|
import type { DiffFileContents, Thread } from "@cueloop/schema";
|
|
10
|
-
import type { Theme } from "
|
|
11
|
-
import type { DiffRow } from "
|
|
12
|
-
import { Tree } from "
|
|
13
|
-
import { allFolderIds, flattenTree } from "
|
|
14
|
-
import { IconButton } from "
|
|
15
|
-
import { NERD } from "
|
|
10
|
+
import type { Theme } from "../../appearance/theme";
|
|
11
|
+
import type { DiffRow } from "../../diff/view-diff";
|
|
12
|
+
import { Tree } from "../../ui/components/primitives/Tree";
|
|
13
|
+
import { allFolderIds, flattenTree } from "../../ui/components/primitives/tree-model";
|
|
14
|
+
import { IconButton } from "../../ui/components/primitives/IconButton";
|
|
15
|
+
import { NERD } from "../../ui/components/primitives/icons";
|
|
16
16
|
import { buildFileTree } from "./file-tree";
|
|
17
17
|
|
|
18
18
|
export interface DiffColumnsState {
|
|
@@ -7,8 +7,8 @@ import { testRender } from "@opentui/react/test-utils";
|
|
|
7
7
|
import { ScrollBoxRenderable, TextRenderable, type Renderable } from "@opentui/core";
|
|
8
8
|
import type { DiffFileContents } from "@cueloop/schema";
|
|
9
9
|
import { ChangesFileTree } from "./ChangesColumn";
|
|
10
|
-
import { settle, waitForText } from "
|
|
11
|
-
import { DARK } from "
|
|
10
|
+
import { settle, waitForText } from "../../testing/test-support";
|
|
11
|
+
import { DARK } from "../../appearance/theme";
|
|
12
12
|
|
|
13
13
|
function findById(node: Renderable, id: string): Renderable | undefined {
|
|
14
14
|
if (node.id === id) return node;
|
|
@@ -2,7 +2,7 @@ import { expect, test } from "bun:test";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { testRender } from "@opentui/react/test-utils";
|
|
4
4
|
import type { Renderable } from "@opentui/core";
|
|
5
|
-
import { allowEventLoopUpdates } from "
|
|
5
|
+
import { allowEventLoopUpdates } from "../../testing/test-support";
|
|
6
6
|
import { EditorGrid } from "./EditorGrid";
|
|
7
7
|
import { makeGroup, splitGroup, welcomeTab, type EditorNode } from "./editor-grid";
|
|
8
8
|
import { WelcomePlayground } from "./WelcomePlayground";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { EditorGrid } from "./EditorGrid";
|
|
5
5
|
import { changesTab, fileTab, makeGroup, splitGroup, type EditorTab } from "./editor-grid";
|
|
6
6
|
|
|
@@ -9,8 +9,8 @@ import { testRender } from "@opentui/react/test-utils";
|
|
|
9
9
|
import React from "react";
|
|
10
10
|
import { EditorGrid, visibleTabWindow } from "./EditorGrid";
|
|
11
11
|
import { changesTab, fileTab, makeGroup, type EditorTab } from "./editor-grid";
|
|
12
|
-
import { NERD } from "
|
|
13
|
-
import { allowEventLoopUpdates } from "
|
|
12
|
+
import { NERD } from "../../ui/components/primitives/icons";
|
|
13
|
+
import { allowEventLoopUpdates } from "../../testing/test-support";
|
|
14
14
|
|
|
15
15
|
describe("visibleTabWindow", () => {
|
|
16
16
|
const tabs: EditorTab[] = ["aaaa", "bbbb", "cccc", "dddd", "eeee"].map((name) =>
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import React, { useEffect, useRef, useState } from "react";
|
|
6
6
|
import type { BoxRenderable } from "@opentui/core";
|
|
7
|
-
import { isDoubleClick, type ClickStamp } from "
|
|
8
|
-
import { DARK, type Theme } from "
|
|
9
|
-
import { useFrameMeasure } from "
|
|
10
|
-
import { useSharedKeyboard } from "
|
|
11
|
-
import { useRootOverlay } from "
|
|
12
|
-
import { useMenuControl } from "
|
|
13
|
-
import { IconButton } from "
|
|
14
|
-
import { NERD, HEADER_UNDERLINE_CHARS } from "
|
|
7
|
+
import { isDoubleClick, type ClickStamp } from "../../annotations/thread-selection";
|
|
8
|
+
import { DARK, type Theme } from "../../appearance/theme";
|
|
9
|
+
import { useFrameMeasure } from "../../ui/use-frame-measure";
|
|
10
|
+
import { useSharedKeyboard } from "../../keyboard/use-shared-keyboard";
|
|
11
|
+
import { useRootOverlay } from "../../ui/components/RootOverlay";
|
|
12
|
+
import { useMenuControl } from "../../ui/components/menu-control";
|
|
13
|
+
import { IconButton } from "../../ui/components/primitives/IconButton";
|
|
14
|
+
import { NERD, HEADER_UNDERLINE_CHARS } from "../../ui/components/primitives/icons";
|
|
15
15
|
import {
|
|
16
16
|
countEditorGroups,
|
|
17
17
|
MAX_EDITOR_GROUPS,
|
|
@@ -10,8 +10,8 @@ import { testRender } from "@opentui/react/test-utils";
|
|
|
10
10
|
import React from "react";
|
|
11
11
|
import { EditorGrid } from "./EditorGrid";
|
|
12
12
|
import { changesTab, fileTab, makeGroup, splitGroup } from "./editor-grid";
|
|
13
|
-
import { NERD } from "
|
|
14
|
-
import { allowEventLoopUpdates } from "
|
|
13
|
+
import { NERD } from "../../ui/components/primitives/icons";
|
|
14
|
+
import { allowEventLoopUpdates } from "../../testing/test-support";
|
|
15
15
|
|
|
16
16
|
const grid = makeGroup([changesTab(), fileTab("App.tsx", "src/App.tsx", "diff")]);
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { FileContentsView } from "./FileContentsView";
|
|
5
5
|
|
|
6
6
|
export const meta: StoryMeta = { title: "Surfaces/FileContentsView" };
|
|
@@ -2,8 +2,8 @@ import { expect, test } from "bun:test";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { testRender } from "@opentui/react/test-utils";
|
|
4
4
|
import { FileContentsView } from "./FileContentsView";
|
|
5
|
-
import { waitForText } from "
|
|
6
|
-
import { DARK } from "
|
|
5
|
+
import { waitForText } from "../../testing/test-support";
|
|
6
|
+
import { DARK } from "../../appearance/theme";
|
|
7
7
|
|
|
8
8
|
test("renders the loaded file contents", async () => {
|
|
9
9
|
const setup = await testRender(
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
// Syntax highlighting comes from the native code renderable (tree-sitter), the language
|
|
5
5
|
// auto-detected from the path; unknown languages simply render unstyled.
|
|
6
6
|
|
|
7
|
-
import { ScrollArea } from "
|
|
7
|
+
import { ScrollArea } from "../../ui/components/ScrollArea";
|
|
8
8
|
import React, { useEffect, useRef, useState } from "react";
|
|
9
9
|
import type { CodeRenderable } from "@opentui/core";
|
|
10
|
-
import type { Theme } from "
|
|
11
|
-
import { useComponentTheme } from "
|
|
12
|
-
import { filetypeForPath, syntaxStyleFor } from "
|
|
10
|
+
import type { Theme } from "../../appearance/theme";
|
|
11
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
12
|
+
import { filetypeForPath, syntaxStyleFor } from "../../ui/components/syntax-highlight";
|
|
13
13
|
|
|
14
14
|
export interface FileContentsViewProps {
|
|
15
15
|
path: string;
|
|
@@ -5,12 +5,12 @@ import React from "react";
|
|
|
5
5
|
import { testRender } from "@opentui/react/test-utils";
|
|
6
6
|
import { changesTab, fileTab } from "./editor-grid";
|
|
7
7
|
import { GridTabContent, type DiffSurfaceProps } from "./GridTabContent";
|
|
8
|
-
import { FIXTURE_PATCH, fixtureDiffSession } from "
|
|
9
|
-
import { NERD } from "
|
|
10
|
-
import { TooltipProvider } from "
|
|
11
|
-
import { locateText, waitForText } from "
|
|
12
|
-
import { DARK } from "
|
|
13
|
-
import { diffRows } from "
|
|
8
|
+
import { FIXTURE_PATCH, fixtureDiffSession } from "../../stories/story-fixtures";
|
|
9
|
+
import { NERD } from "../../ui/components/primitives/icons";
|
|
10
|
+
import { TooltipProvider } from "../../ui/components/Tooltip";
|
|
11
|
+
import { locateText, waitForText } from "../../testing/test-support";
|
|
12
|
+
import { DARK } from "../../appearance/theme";
|
|
13
|
+
import { diffRows } from "../../diff/view-diff";
|
|
14
14
|
|
|
15
15
|
const noop = (): void => {};
|
|
16
16
|
const rows = diffRows(
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import { DEFAULT_QUICK_ACTIONS } from "
|
|
4
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import { DEFAULT_QUICK_ACTIONS } from "../../settings/config";
|
|
4
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
5
5
|
import { GridTabContent, type DiffSurfaceProps } from "./GridTabContent";
|
|
6
|
-
import { fixtureDiffRows, fixtureDiffSession } from "
|
|
6
|
+
import { fixtureDiffRows, fixtureDiffSession } from "../../stories/story-fixtures";
|
|
7
7
|
import { changesTab, fileTab } from "./editor-grid";
|
|
8
8
|
|
|
9
9
|
export const meta: StoryMeta = { title: "Surfaces/GridTabContent" };
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
|
|
8
8
|
import React, { useMemo } from "react";
|
|
9
9
|
import { type Anchor } from "@cueloop/schema";
|
|
10
|
-
import { dimmedTheme, type Theme } from "
|
|
11
|
-
import { changesMarks, type DiffRow } from "
|
|
10
|
+
import { dimmedTheme, type Theme } from "../../appearance/theme";
|
|
11
|
+
import { changesMarks, type DiffRow } from "../../diff/view-diff";
|
|
12
12
|
import {
|
|
13
13
|
DiffContentView,
|
|
14
14
|
type DiffFoldControls,
|
|
15
15
|
type DiffContentViewProps,
|
|
16
|
-
} from "
|
|
17
|
-
import { AnnotatableFileView } from "
|
|
16
|
+
} from "../../diff/components/DiffContentView";
|
|
17
|
+
import { AnnotatableFileView } from "../../diff/components/AnnotatableFileView";
|
|
18
18
|
import type { EditorTab } from "./editor-grid";
|
|
19
19
|
|
|
20
20
|
/** The inline-commenting props the diff sheet shares with the thread view, wired once by the app. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { ProjectTreeView } from "./ProjectTreeView";
|
|
5
5
|
|
|
6
6
|
export const meta: StoryMeta = { title: "Surfaces/ProjectTreeView" };
|
|
@@ -6,8 +6,8 @@ import React from "react";
|
|
|
6
6
|
import { testRender } from "@opentui/react/test-utils";
|
|
7
7
|
import { ScrollBoxRenderable, type Renderable } from "@opentui/core";
|
|
8
8
|
import { ProjectTreeView } from "./ProjectTreeView";
|
|
9
|
-
import { locateText, settle, waitForText, waitForTextGone } from "
|
|
10
|
-
import { DARK } from "
|
|
9
|
+
import { locateText, settle, waitForText, waitForTextGone } from "../../testing/test-support";
|
|
10
|
+
import { DARK } from "../../appearance/theme";
|
|
11
11
|
|
|
12
12
|
function findById(node: Renderable, id: string): Renderable | undefined {
|
|
13
13
|
if (node.id === id) return node;
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// Folders start collapsed and expand on click; a file click opens it as a tab. The caller keys this
|
|
3
3
|
// on the session id so switching sessions remounts it and never shows the previous repository's paths.
|
|
4
4
|
|
|
5
|
-
import { ScrollArea } from "
|
|
5
|
+
import { ScrollArea } from "../../ui/components/ScrollArea";
|
|
6
6
|
import React, { useEffect, useEffectEvent, useMemo, useState } from "react";
|
|
7
7
|
import { useKeyboard } from "@opentui/react";
|
|
8
|
-
import type { Theme } from "
|
|
9
|
-
import { useComponentTheme } from "
|
|
10
|
-
import { Tree } from "
|
|
11
|
-
import { flattenTree } from "
|
|
8
|
+
import type { Theme } from "../../appearance/theme";
|
|
9
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
10
|
+
import { Tree } from "../../ui/components/primitives/Tree";
|
|
11
|
+
import { flattenTree } from "../../ui/components/primitives/tree-model";
|
|
12
12
|
import { buildPathTree } from "./file-tree";
|
|
13
13
|
|
|
14
14
|
const PROJECT_FILES_REFRESH_MS = 2000;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { TreePane } from "./TreePane";
|
|
5
|
-
import type { TreeRow } from "
|
|
5
|
+
import type { TreeRow } from "../../thread/tree-view";
|
|
6
6
|
|
|
7
7
|
export const meta: StoryMeta = { title: "Surfaces/TreePane" };
|
|
8
8
|
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
* path to the same primitives the option chords reach.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { ScrollArea } from "
|
|
9
|
+
import { ScrollArea } from "../../ui/components/ScrollArea";
|
|
10
10
|
import React, { useEffect, useRef } from "react";
|
|
11
11
|
import { createTextAttributes, type ScrollBoxRenderable } from "@opentui/core";
|
|
12
|
-
import type { Theme } from "
|
|
13
|
-
import type { TreeRow } from "
|
|
14
|
-
import { useComponentTheme } from "
|
|
15
|
-
import { Button } from "
|
|
16
|
-
import { Toolbar } from "
|
|
12
|
+
import type { Theme } from "../../appearance/theme";
|
|
13
|
+
import type { TreeRow } from "../../thread/tree-view";
|
|
14
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
15
|
+
import { Button } from "../../ui/components/primitives/Button";
|
|
16
|
+
import { Toolbar } from "../../ui/components/primitives/Toolbar";
|
|
17
17
|
|
|
18
18
|
export interface TreePaneProps {
|
|
19
19
|
rows: TreeRow[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { WelcomePlayground } from "./WelcomePlayground";
|
|
5
5
|
|
|
6
6
|
export const meta: StoryMeta = { title: "Surfaces/WelcomePlayground" };
|
|
@@ -8,9 +8,16 @@ import { describe, expect, test } from "bun:test";
|
|
|
8
8
|
import { testRender } from "@opentui/react/test-utils";
|
|
9
9
|
import React from "react";
|
|
10
10
|
import { WelcomePlayground } from "./WelcomePlayground";
|
|
11
|
-
import { DARK } from "
|
|
12
|
-
import { CLIENT_VERSION } from "
|
|
13
|
-
import {
|
|
11
|
+
import { DARK } from "../../appearance/theme";
|
|
12
|
+
import { CLIENT_VERSION } from "../../app/version";
|
|
13
|
+
import {
|
|
14
|
+
dragText,
|
|
15
|
+
locateText,
|
|
16
|
+
press,
|
|
17
|
+
typeText,
|
|
18
|
+
pressKey,
|
|
19
|
+
waitForText,
|
|
20
|
+
} from "../../testing/test-support";
|
|
14
21
|
|
|
15
22
|
describe("WelcomePlayground", () => {
|
|
16
23
|
test("the copy prompts the select-and-type and the slash gestures", async () => {
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
type Annotation,
|
|
13
13
|
type Thread,
|
|
14
14
|
} from "@cueloop/schema";
|
|
15
|
-
import type { Theme } from "
|
|
16
|
-
import type { QuickAction } from "
|
|
17
|
-
import { CLIENT_VERSION } from "
|
|
18
|
-
import { DiffContentView } from "
|
|
19
|
-
import { diffRowBlocks, fileContentsRows, marksByRows } from "
|
|
15
|
+
import type { Theme } from "../../appearance/theme";
|
|
16
|
+
import type { QuickAction } from "../../settings/config";
|
|
17
|
+
import { CLIENT_VERSION } from "../../app/version";
|
|
18
|
+
import { DiffContentView } from "../../diff/components/DiffContentView";
|
|
19
|
+
import { diffRowBlocks, fileContentsRows, marksByRows } from "../../diff/view-diff";
|
|
20
20
|
|
|
21
21
|
export interface WelcomePlaygroundProps {
|
|
22
22
|
quickActions: QuickAction[];
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { DiffFileContents, DiffFileStatus } from "@cueloop/schema";
|
|
8
|
-
import type { GitStatus, TreeNode } from "
|
|
8
|
+
import type { GitStatus, TreeNode } from "../../ui/components/primitives/tree-model";
|
|
9
9
|
|
|
10
10
|
/** The diff file statuses are a subset of the tree's git statuses. */
|
|
11
11
|
function gitStatusOf(status: DiffFileStatus): GitStatus {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// toggles are mutually-exclusive file-tree modes. Owns the editor grid (tabs and splits) too.
|
|
4
4
|
|
|
5
5
|
import { useRef, useState } from "react";
|
|
6
|
-
import type { ProjectPanelMode } from "
|
|
7
|
-
import type { LaunchLayout } from "
|
|
6
|
+
import type { ProjectPanelMode } from "../app/components/AppShell";
|
|
7
|
+
import type { LaunchLayout } from "../app/launch-layout";
|
|
8
8
|
import {
|
|
9
9
|
activateTab,
|
|
10
10
|
changesTab,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useRef } from "react";
|
|
2
|
-
import { persistLayout } from "
|
|
3
|
-
import { layoutFromPanes, type LaunchLayout } from "
|
|
2
|
+
import { persistLayout } from "../settings/config";
|
|
3
|
+
import { layoutFromPanes, type LaunchLayout } from "../app/launch-layout";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Persist the pane composition whenever the user changes it, so the next bare launch restores it.
|
|
@@ -8,6 +8,7 @@ interface RepoChangesOptions {
|
|
|
8
8
|
loadChanges: () => Promise<readonly DiffFileContents[]>;
|
|
9
9
|
visible: boolean;
|
|
10
10
|
diffSourceKey: string;
|
|
11
|
+
initialFiles?: readonly DiffFileContents[];
|
|
11
12
|
refreshAutomatically?: boolean;
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -34,9 +35,12 @@ export function useRepoChanges({
|
|
|
34
35
|
loadChanges,
|
|
35
36
|
visible,
|
|
36
37
|
diffSourceKey,
|
|
38
|
+
initialFiles,
|
|
37
39
|
refreshAutomatically = true,
|
|
38
40
|
}: RepoChangesOptions): readonly DiffFileContents[] {
|
|
39
|
-
const [snapshot, setSnapshot] = useState<RepoChangesSnapshot | null>(
|
|
41
|
+
const [snapshot, setSnapshot] = useState<RepoChangesSnapshot | null>(() =>
|
|
42
|
+
initialFiles ? { diffSourceKey, files: initialFiles } : null,
|
|
43
|
+
);
|
|
40
44
|
const loadLatestChanges = useEffectEvent(loadChanges);
|
|
41
45
|
|
|
42
46
|
useEffect(() => {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/{client-extension-registry.test.tsx → integrations/client-extension-registry.test.tsx}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|