@workbench-kit/react 0.0.2-prototype.0.2.4 → 0.0.2-prototype.0.2.41

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.
Files changed (221) hide show
  1. package/README.md +172 -0
  2. package/package.json +38 -21
  3. package/src/index.ts +74 -34
  4. package/src/jdw/JsonCodeEditorPane.tsx +7 -6
  5. package/src/jdw/builtins/renderBuiltinWidgetLeaf.tsx +1 -3
  6. package/src/jdw/createBuiltinJdwRegistry.ts +1 -4
  7. package/src/jdw/cssRenderBackend.tsx +1 -4
  8. package/src/jdw/fixtures/jdw-fixtures.ts +0 -15
  9. package/src/json-config/JsonConfigWorkbench.tsx +1 -1
  10. package/src/layout/index.ts +11 -2
  11. package/src/layout/panel/Panel.tsx +0 -3
  12. package/src/layout/panel/index.ts +0 -2
  13. package/src/layout/sidebar/SideBarTree.tsx +301 -0
  14. package/src/layout/sidebar/SidebarActionIconBar.tsx +3 -3
  15. package/src/layout/sidebar/WorkbenchSidebarActions.tsx +1 -1
  16. package/src/layout/sidebar/index.ts +13 -0
  17. package/src/modal/Modal.tsx +55 -25
  18. package/src/modal/ModalTitlebar.tsx +8 -8
  19. package/src/modal/modalPosition.ts +3 -6
  20. package/src/modal/useModalFocusTrap.ts +142 -0
  21. package/src/modal/useModalWindowFrame.ts +2 -2
  22. package/src/overlay/ContextMenu.tsx +133 -21
  23. package/src/overlay/context-menu-density.css +22 -0
  24. package/src/overlay/context-menu-item.ts +17 -0
  25. package/src/overlay/context-menu.css +6 -2
  26. package/src/overlay/index.ts +6 -1
  27. package/src/overlay/measureAnchoredOverlayPanel.ts +4 -6
  28. package/src/overlay/pointerPassthroughRegion.ts +17 -1
  29. package/src/overlay/usePointerPassthroughRegion.ts +35 -6
  30. package/src/primitives/absolute-box/AbsoluteBox.tsx +4 -4
  31. package/src/primitives/app-icon/AppIcon.tsx +33 -0
  32. package/src/primitives/app-icon/app-icon.css +28 -0
  33. package/src/primitives/button/Button.tsx +4 -4
  34. package/src/primitives/catalog-browse-card/CatalogBrowseCard.tsx +6 -6
  35. package/src/primitives/catalog-browse-pane/CatalogBrowsePane.tsx +39 -32
  36. package/src/primitives/catalog-browse-pane/catalog-browse-pane.css +4 -0
  37. package/src/primitives/catalog-filter-overlay/CatalogFilterOverlay.tsx +2 -2
  38. package/src/primitives/checkbox/Checkbox.tsx +1 -1
  39. package/src/primitives/chip/Chip.tsx +3 -12
  40. package/src/primitives/chip/index.ts +2 -2
  41. package/src/primitives/codicon/Codicon.tsx +1 -1
  42. package/src/primitives/file-icon/FileIcon.tsx +1 -1
  43. package/src/primitives/icon-button/IconButton.tsx +1 -1
  44. package/src/primitives/index.ts +7 -2
  45. package/src/primitives/library-detail-layout/LibraryDetailLayout.tsx +123 -9
  46. package/src/primitives/library-detail-layout/library-detail-layout.css +57 -0
  47. package/src/primitives/library-detail-layout/resolve-hero-cover-media.ts +80 -0
  48. package/src/primitives/library-facet-filter-panel/LibraryFacetFilterPanel.tsx +12 -12
  49. package/src/primitives/library-facet-filter-strip/LibraryFacetFilterStrip.tsx +4 -4
  50. package/src/primitives/number-input/NumberInput.tsx +5 -5
  51. package/src/primitives/primitives.css +1 -0
  52. package/src/primitives/record-media-hero/RecordMediaHero.tsx +10 -6
  53. package/src/primitives/scroll-area/ScrollArea.tsx +5 -5
  54. package/src/primitives/scroll-area-infinite-load/useScrollAreaInfiniteLoad.ts +5 -5
  55. package/src/primitives/searchable-multi-select/SearchableMultiSelect.tsx +7 -7
  56. package/src/primitives/select/Select.tsx +1 -13
  57. package/src/primitives/text-area/TextArea.tsx +1 -1
  58. package/src/primitives/text-input/TextInput.tsx +1 -1
  59. package/src/primitives/workbench-media-slot/WorkbenchMediaPlaceholder.tsx +2 -2
  60. package/src/primitives/workbench-media-slot/WorkbenchMediaSlot.tsx +16 -10
  61. package/src/primitives/workbench-thumbnail/WorkbenchThumbnail.tsx +4 -4
  62. package/src/scrollbars.css +2 -6
  63. package/src/styles/core.css +16 -0
  64. package/src/styles/foundation.css +4 -0
  65. package/src/styles/overlay.css +2 -0
  66. package/src/styles.css +1 -15
  67. package/src/utils/clamp.ts +4 -0
  68. package/src/utils/normalizeKeyToken.ts +13 -0
  69. package/src/utils/readNumber.ts +4 -0
  70. package/src/widget-tree/WidgetSourceEditor.tsx +0 -14
  71. package/src/widget-tree/WidgetTreeCanvasPreview.tsx +3 -10
  72. package/src/widget-tree/WidgetTreeLab.tsx +2 -23
  73. package/src/widget-tree/WidgetTreeSidePanel.tsx +0 -5
  74. package/src/widget-tree/WidgetTreeWorkspaceShell.tsx +2 -2
  75. package/src/widget-tree/index.ts +1 -5
  76. package/src/workbench/auth/WorkbenchLoginView.tsx +1 -2
  77. package/src/workbench/auth/auth-flows.css +14 -0
  78. package/src/workbench/chat/ChatCommandProposalCard.tsx +4 -4
  79. package/src/workbench/chat/ChatConversationBar.tsx +3 -3
  80. package/src/workbench/chat/ChatHistoryMenu.tsx +1 -1
  81. package/src/workbench/chat/ChatMessageCollapsible.tsx +4 -0
  82. package/src/workbench/chat/ChatMessageItem.tsx +68 -10
  83. package/src/workbench/chat/ChatMessageList.tsx +1 -1
  84. package/src/workbench/chat/ChatPanel.tsx +32 -23
  85. package/src/workbench/chat/ChatPhasedRunProgress.tsx +86 -13
  86. package/src/workbench/chat/ChatRenameDialog.tsx +1 -1
  87. package/src/workbench/chat/chat-conversation.css +2 -2
  88. package/src/workbench/chat/chat-ui.css +8 -0
  89. package/src/workbench/chat/chatConversation.ts +2 -2
  90. package/src/workbench/chat/chatMessageMeta.tsx +4 -4
  91. package/src/workbench/chat/index.ts +1 -0
  92. package/src/workbench/chat/types.ts +7 -7
  93. package/src/workbench/chat/useCancelRuntimeOnUnmount.ts +4 -4
  94. package/src/workbench/chat/useChatPrependPagination.ts +10 -10
  95. package/src/workbench/chat/useSlashCommandSuggest.ts +1 -1
  96. package/src/workbench/{WorkbenchModalPortal.tsx → chrome/WorkbenchModalPortal.tsx} +1 -1
  97. package/src/workbench/chrome/workbench-chrome.css +4 -0
  98. package/src/workbench/chrome/workbench-layout-regions.css +13 -0
  99. package/src/workbench/chrome/workbench-shell-titlebar.css +0 -8
  100. package/src/workbench/{CommandGroupShell.tsx → commands/CommandGroupShell.tsx} +2 -2
  101. package/src/workbench/{CommandList.tsx → commands/CommandList.tsx} +6 -5
  102. package/src/workbench/{CommandPalette.tsx → commands/CommandPalette.tsx} +16 -42
  103. package/src/workbench/{ConfirmationFlow.tsx → commands/ConfirmationFlow.tsx} +5 -5
  104. package/src/workbench/{ShortcutCommandBridge.tsx → commands/ShortcutCommandBridge.tsx} +17 -13
  105. package/src/workbench/commands/WorkbenchQuickOpen.tsx +462 -0
  106. package/src/workbench/{command-model.ts → commands/command-model.ts} +5 -1
  107. package/src/workbench/commands/command-ui.ts +3 -0
  108. package/src/workbench/{commands.ts → commands/commands.ts} +45 -1
  109. package/src/workbench/commands/createWorkspaceFilesQuickOpenProvider.ts +86 -0
  110. package/src/workbench/commands/quick-open-model.ts +66 -0
  111. package/src/workbench/{WorkbenchEditorTabs.tsx → editor/WorkbenchEditorTabs.tsx} +13 -3
  112. package/src/workbench/{editor-tabs-dnd.ts → editor/editor-tabs-dnd.ts} +1 -1
  113. package/src/workbench/{editorTabContextMenu.ts → editor/editorTabContextMenu.ts} +43 -4
  114. package/src/workbench/{useEditorTabsStripDnd.ts → editor/useEditorTabsStripDnd.ts} +1 -1
  115. package/src/workbench/{useWorkbenchEditorTabContextMenu.tsx → editor/useWorkbenchEditorTabContextMenu.tsx} +16 -2
  116. package/src/workbench/editor-tabs/index.ts +10 -9
  117. package/src/workbench/index.ts +114 -74
  118. package/src/workbench/management/CommandManagementSidebar.tsx +16 -30
  119. package/src/workbench/management/ExtensionManagementPanel.tsx +84 -46
  120. package/src/workbench/management/ExtensionManagementSidebar.tsx +79 -45
  121. package/src/workbench/management/IntegrationCommandActions.tsx +8 -1
  122. package/src/workbench/management/IntegrationSettingsSurface.tsx +2 -5
  123. package/src/workbench/management/IntegrationsShell.tsx +1 -1
  124. package/src/workbench/management/KeybindingCaptureField.tsx +1 -9
  125. package/src/workbench/management/WorkbenchDialogFrame.tsx +2 -2
  126. package/src/workbench/management/WorkbenchNotice.tsx +17 -12
  127. package/src/workbench/management/createWorkbenchNotify.tsx +88 -0
  128. package/src/workbench/management/extension-install-approval.ts +72 -0
  129. package/src/workbench/management/extension-management-filters.ts +38 -0
  130. package/src/workbench/management/index.ts +18 -3
  131. package/src/workbench/management/management.css +28 -0
  132. package/src/workbench/management/types.ts +23 -1
  133. package/src/workbench/management/useWorkbenchNotify.ts +10 -0
  134. package/src/workbench/{MarkdownPreview.tsx → markdown/MarkdownPreview.tsx} +22 -7
  135. package/src/workbench/markdown/markdownRemarkPlugins.ts +12 -0
  136. package/src/workbench/markdown/sanitizeMarkdownHref.ts +29 -0
  137. package/src/workbench/schema/workbenchDocumentRenderer.tsx +48 -121
  138. package/src/workbench/settings/StructuredDataForm.tsx +1 -4
  139. package/src/workbench/settings/StructuredDataSchemaPanel.tsx +39 -44
  140. package/src/workbench/settings/sectionedPanelScrollSpy.ts +0 -81
  141. package/src/workbench/settings/structuredDataFormModel.ts +2 -1
  142. package/src/workbench/settings/structuredDataSchema.ts +24 -13
  143. package/src/workbench/settings/structuredDataSchemaSection.ts +4 -0
  144. package/src/workbench/settings/structuredDataSchemaTable.ts +5 -2
  145. package/src/workbench/{ActivityBar.tsx → shell/ActivityBar.tsx} +8 -12
  146. package/src/workbench/{ArtifactShell.tsx → shell/ArtifactShell.tsx} +25 -25
  147. package/src/workbench/{SplitView.tsx → shell/SplitView.tsx} +3 -3
  148. package/src/workbench/{StatusBar.tsx → shell/StatusBar.tsx} +8 -8
  149. package/src/workbench/{StructuredArtifactEditor.tsx → shell/StructuredArtifactEditor.tsx} +9 -9
  150. package/src/workbench/{Timeline.tsx → shell/Timeline.tsx} +77 -20
  151. package/src/workbench/{WorkbenchCanvasShell.defaults.ts → shell/WorkbenchCanvasShell.defaults.ts} +1 -1
  152. package/src/workbench/{WorkbenchCanvasShell.model.ts → shell/WorkbenchCanvasShell.model.ts} +5 -5
  153. package/src/workbench/{WorkbenchCanvasShell.tsx → shell/WorkbenchCanvasShell.tsx} +6 -6
  154. package/src/workbench/{WorkbenchDesktopTitleBar.tsx → shell/WorkbenchDesktopTitleBar.tsx} +15 -15
  155. package/src/workbench/{WorkbenchShell.tsx → shell/WorkbenchShell.tsx} +45 -6
  156. package/src/workbench/{WorkbenchShellTitleBarLayoutControls.tsx → shell/WorkbenchShellTitleBarLayoutControls.tsx} +16 -19
  157. package/src/workbench/{WorkbenchStandaloneShell.tsx → shell/WorkbenchStandaloneShell.tsx} +15 -22
  158. package/src/workbench/{WorkbenchViewEditor.tsx → shell/WorkbenchViewEditor.tsx} +7 -7
  159. package/src/workbench/{WorkbenchViewSidebar.tsx → shell/WorkbenchViewSidebar.tsx} +7 -7
  160. package/src/workbench/{WorkbenchWindowChromeControls.tsx → shell/WorkbenchWindowChromeControls.tsx} +18 -15
  161. package/src/workbench/shell/activity-bar.css +47 -0
  162. package/src/workbench/{activityBarOrder.ts → shell/activityBarOrder.ts} +2 -1
  163. package/src/workbench/{shell.ts → shell/shell.ts} +20 -13
  164. package/src/workbench/{shellViewModel.ts → shell/shellViewModel.ts} +3 -3
  165. package/src/workbench/{standalone.ts → shell/standalone.ts} +14 -2
  166. package/src/workbench/{useDeferredWorkbenchMount.ts → shell/useDeferredWorkbenchMount.ts} +3 -3
  167. package/src/workbench/{useWorkbenchAppearanceDocumentSync.tsx → shell/useWorkbenchAppearanceDocumentSync.tsx} +1 -1
  168. package/src/workbench/{useWorkbenchSidebarActionBarDnd.ts → shell/useWorkbenchSidebarActionBarDnd.ts} +1 -1
  169. package/src/workbench/{useWorkbenchSidebarViewPlacementDropZone.ts → shell/useWorkbenchSidebarViewPlacementDropZone.ts} +2 -2
  170. package/src/workbench/{workbenchSidebarLayoutContext.ts → shell/workbenchSidebarLayoutContext.ts} +0 -6
  171. package/src/workbench/{workbenchViewRouteState.ts → shell/workbenchViewRouteState.ts} +4 -4
  172. package/src/workbench/{WorkbenchThemeProvider.tsx → theme/WorkbenchThemeProvider.tsx} +4 -4
  173. package/src/workbench/{theme.ts → theme/theme.ts} +1 -1
  174. package/src/workbench/{themePresets.ts → theme/themePresets.ts} +39 -64
  175. package/src/workbench/views/command-list-density.css +36 -0
  176. package/src/workbench/views/command-list.css +2 -0
  177. package/src/workbench/views/extensions-sidebar.css +2 -0
  178. package/src/workbench/views/view-hosts.css +3 -3
  179. package/src/workbench/workspace/WorkspaceEditorPanel.tsx +1 -1
  180. package/src/workbench/workspace/WorkspaceExplorer.tsx +105 -4
  181. package/src/workbench/workspace/createVirtualWorkspaceExplorerPort.ts +1 -14
  182. package/src/workbench/workspace/workspaceExplorerKeyboard.ts +109 -0
  183. package/src/workbench/workspace/workspaceJsonDiagnostics.ts +6 -5
  184. package/src/workbench-menu-surfaces.css +3 -57
  185. package/src/brand/TilepaperAppIcon.tsx +0 -181
  186. package/src/brand/index.ts +0 -2
  187. package/src/brand/tilepaper-app-icon-geometry.ts +0 -201
  188. package/src/primitives/absolute-box/index.ts +0 -1
  189. package/src/primitives/catalog-browse-card/index.ts +0 -1
  190. package/src/primitives/catalog-browse-pane/index.ts +0 -3
  191. package/src/primitives/catalog-filter-overlay/index.ts +0 -1
  192. package/src/primitives/codicon/index.ts +0 -1
  193. package/src/primitives/external-link-button/index.ts +0 -1
  194. package/src/primitives/library-detail-layout/index.ts +0 -1
  195. package/src/primitives/library-facet-filter-panel/index.ts +0 -1
  196. package/src/primitives/library-facet-filter-strip/index.ts +0 -1
  197. package/src/primitives/panel-loading/index.ts +0 -1
  198. package/src/primitives/scroll-area-infinite-load/index.ts +0 -2
  199. package/src/primitives/workbench-thumbnail/index.ts +0 -1
  200. package/src/test-utils/workbenchMonacoMock.tsx +0 -37
  201. package/src/workbench/jdw/jdw-editors.css +0 -4
  202. package/src/workbench/jdw/jdw.css +0 -2
  203. package/src/workbench/management/integration-command-action.ts +0 -25
  204. package/src/workbench/markdownRemarkPlugins.ts +0 -4
  205. package/src/workbench/workbench-chrome.css +0 -4
  206. /package/src/workbench/{WorkbenchPlatformContext.tsx → chrome/WorkbenchPlatformContext.tsx} +0 -0
  207. /package/src/workbench/{workbenchModalViewState.ts → chrome/workbenchModalViewState.ts} +0 -0
  208. /package/src/workbench/{workbenchOverlaysContext.tsx → chrome/workbenchOverlaysContext.tsx} +0 -0
  209. /package/src/workbench/{workbenchPlatformChrome.ts → chrome/workbenchPlatformChrome.ts} +0 -0
  210. /package/src/workbench/{command-execution-policy.ts → commands/command-execution-policy.ts} +0 -0
  211. /package/src/workbench/{keyboard.ts → commands/keyboard.ts} +0 -0
  212. /package/src/workbench/{workbenchContextMenu.ts → commands/workbenchContextMenu.ts} +0 -0
  213. /package/src/workbench/{appearanceLabels.ts → shell/appearanceLabels.ts} +0 -0
  214. /package/src/workbench/{hardReset.ts → shell/hardReset.ts} +0 -0
  215. /package/src/workbench/{shellPresets.ts → shell/shellPresets.ts} +0 -0
  216. /package/src/workbench/{shellState.ts → shell/shellState.ts} +0 -0
  217. /package/src/workbench/{sidebarViewPlacementDnd.ts → shell/sidebarViewPlacementDnd.ts} +0 -0
  218. /package/src/workbench/{status.ts → shell/status.ts} +0 -0
  219. /package/src/workbench/{useWorkbenchSidebarLayout.tsx → shell/useWorkbenchSidebarLayout.tsx} +0 -0
  220. /package/src/workbench/{useWorkbenchStandaloneShellStateSync.tsx → shell/useWorkbenchStandaloneShellStateSync.tsx} +0 -0
  221. /package/src/workbench/{workbenchStandaloneShellReactContext.tsx → shell/workbenchStandaloneShellReactContext.tsx} +0 -0
@@ -1,5 +1,5 @@
1
- export { ActivityBar } from './ActivityBar';
2
- export type { ActivityBarItem, ActivityBarProps } from './ActivityBar';
1
+ export { ActivityBar } from './shell/ActivityBar';
2
+ export type { ActivityBarItem, ActivityBarProps } from './shell/ActivityBar';
3
3
  export { createStringDragMime, createTypedDragMime } from '../utils/dragMime';
4
4
  export type { TypedDragMime, TypedDragMimeOptions } from '../utils/dragMime';
5
5
  export {
@@ -11,13 +11,13 @@ export {
11
11
  readEditorTabDragPayload,
12
12
  resolveEditorTabDropTarget,
13
13
  resolveEditorTabStripDropTarget,
14
- } from './editor-tabs-dnd';
15
- export type { EditorTabDragPayload, EditorTabDropTarget } from './editor-tabs-dnd';
16
- export { useEditorTabsStripDnd } from './useEditorTabsStripDnd';
14
+ } from './editor/editor-tabs-dnd';
15
+ export type { EditorTabDragPayload, EditorTabDropTarget } from './editor/editor-tabs-dnd';
16
+ export { useEditorTabsStripDnd } from './editor/useEditorTabsStripDnd';
17
17
  export type {
18
18
  UseEditorTabsStripDndOptions,
19
19
  UseEditorTabsStripDndResult,
20
- } from './useEditorTabsStripDnd';
20
+ } from './editor/useEditorTabsStripDnd';
21
21
  export {
22
22
  WorkbenchArtifactModeControls,
23
23
  WorkbenchArtifactPreview,
@@ -28,7 +28,7 @@ export {
28
28
  getWorkbenchPreviewRenderer,
29
29
  getWorkbenchPreviewRendererMatch,
30
30
  selectWorkbenchPreviewRenderer,
31
- } from './ArtifactShell';
31
+ } from './shell/ArtifactShell';
32
32
  export type {
33
33
  WorkbenchArtifactDescriptor,
34
34
  WorkbenchArtifactMode,
@@ -41,7 +41,7 @@ export type {
41
41
  WorkbenchPreviewRendererContext,
42
42
  WorkbenchPreviewRendererMatch,
43
43
  WorkbenchPreviewRendererMatchReason,
44
- } from './ArtifactShell';
44
+ } from './shell/ArtifactShell';
45
45
  export {
46
46
  WorkbenchCommandGroupShell,
47
47
  WorkbenchCommandList,
@@ -58,9 +58,23 @@ export {
58
58
  isWorkbenchCommandExecutionPolicy,
59
59
  isWorkbenchCommandRunnable,
60
60
  resolveWorkbenchCommandExecutionPolicy,
61
- } from './CommandPalette';
62
- export { WorkbenchMarkdownPreview } from './MarkdownPreview';
63
- export type { WorkbenchMarkdownPreviewProps } from './MarkdownPreview';
61
+ } from './commands/CommandPalette';
62
+ export {
63
+ DEFAULT_QUICK_OPEN_SEARCH_DEBOUNCE_MS,
64
+ WORKSPACE_FILES_QUICK_OPEN_PROVIDER_ID,
65
+ WorkbenchQuickOpen,
66
+ createWorkspaceFilesQuickOpenProvider,
67
+ getNextQuickOpenItemIndex,
68
+ isQuickOpenItemSelectable,
69
+ resolveQuickOpenItemPath,
70
+ } from './commands/WorkbenchQuickOpen';
71
+ export { WorkbenchMarkdownPreview } from './markdown/MarkdownPreview';
72
+ export type { WorkbenchMarkdownPreviewProps } from './markdown/MarkdownPreview';
73
+ export { sanitizeMarkdownHref } from './markdown/sanitizeMarkdownHref';
74
+ export {
75
+ workbenchMarkdownRemarkPlugins,
76
+ workbenchMarkdownRehypePlugins,
77
+ } from './markdown/markdownRemarkPlugins';
64
78
  export {
65
79
  ChatCommandProposalCard,
66
80
  ChatConversationBar,
@@ -81,6 +95,7 @@ export type {
81
95
  ChatHistoryMenuProps,
82
96
  ChatPanelProps,
83
97
  ChatPhasedRunProgressAction,
98
+ ChatPhasedRunProgressLabels,
84
99
  ChatPhasedRunProgressProps,
85
100
  ChatRenameDialogProps,
86
101
  ChatRunPhase,
@@ -101,17 +116,17 @@ export {
101
116
  isWorkbenchSaveShortcutEvent,
102
117
  useWorkbenchNativeContextMenuGuard,
103
118
  useWorkbenchNativeSaveGuard,
104
- } from './keyboard';
105
- export { resolveWorkbenchTheme, useResolvedWorkbenchTheme } from './theme';
106
- export type { ResolvedWorkbenchTheme } from './theme';
107
- export { useDeferredWorkbenchMount } from './useDeferredWorkbenchMount';
108
- export type { UseDeferredWorkbenchMountOptions } from './useDeferredWorkbenchMount';
119
+ } from './commands/keyboard';
120
+ export { resolveWorkbenchTheme, useResolvedWorkbenchTheme } from './theme/theme';
121
+ export type { ResolvedWorkbenchTheme } from './theme/theme';
122
+ export { useDeferredWorkbenchMount } from './shell/useDeferredWorkbenchMount';
123
+ export type { UseDeferredWorkbenchMountOptions } from './shell/useDeferredWorkbenchMount';
109
124
  export {
110
125
  DEFAULT_WORKBENCH_HARD_RESET_CONFIRM_MESSAGE,
111
126
  DEFAULT_WORKBENCH_STORAGE_PREFIX,
112
127
  performWorkbenchHardReset,
113
- } from './hardReset';
114
- export type { WorkbenchHardResetOptions } from './hardReset';
128
+ } from './shell/hardReset';
129
+ export type { WorkbenchHardResetOptions } from './shell/hardReset';
115
130
  export {
116
131
  applyWorkbenchAppearance,
117
132
  applyWorkbenchThemeAttributes,
@@ -127,11 +142,11 @@ export {
127
142
  resolveActiveThemePreset,
128
143
  resolveWorkbenchThemeProviderAttributes,
129
144
  WORKBENCH_COLOR_SCHEME_OPTIONS,
130
- } from './themePresets';
145
+ } from './theme/themePresets';
131
146
  export {
132
147
  WORKBENCH_APPEARANCE_FIELD_DESCRIPTIONS,
133
148
  WORKBENCH_APPEARANCE_FIELD_LABELS,
134
- } from './appearanceLabels';
149
+ } from './shell/appearanceLabels';
135
150
  export type {
136
151
  DarkThemePresetId,
137
152
  LightThemePresetId,
@@ -144,34 +159,40 @@ export type {
144
159
  WorkbenchThemePresetOption,
145
160
  WorkbenchThemePresetManifestEntry,
146
161
  WorkbenchThemePresetSelection,
147
- } from './themePresets';
162
+ } from './theme/themePresets';
148
163
  export {
149
164
  applyWorkbenchShellAttributes,
150
165
  DEFAULT_SHELL_PRESET,
151
166
  isShellPresetId,
152
167
  SHELL_PRESET_MANIFEST,
153
168
  SHELL_PRESET_OPTIONS,
154
- } from './shellPresets';
169
+ } from './shell/shellPresets';
155
170
  export type {
156
171
  ShellPresetId,
157
172
  WorkbenchShellPresetManifestEntry,
158
173
  WorkbenchShellPresetOption,
159
- } from './shellPresets';
160
- export { WorkbenchThemeProvider } from './WorkbenchThemeProvider';
161
- export type { WorkbenchThemeProviderProps } from './WorkbenchThemeProvider';
162
- export { useWorkbenchAppearanceDocumentSync } from './useWorkbenchAppearanceDocumentSync';
163
- export { WorkbenchPlatformProvider, useWorkbenchHostPlatform } from './WorkbenchPlatformContext';
164
- export type { WorkbenchPlatformProviderProps } from './WorkbenchPlatformContext';
174
+ } from './shell/shellPresets';
175
+ export { WorkbenchThemeProvider } from './theme/WorkbenchThemeProvider';
176
+ export type { WorkbenchThemeProviderProps } from './theme/WorkbenchThemeProvider';
177
+ export { useWorkbenchAppearanceDocumentSync } from './shell/useWorkbenchAppearanceDocumentSync';
178
+ export {
179
+ WorkbenchPlatformProvider,
180
+ useWorkbenchHostPlatform,
181
+ } from './chrome/WorkbenchPlatformContext';
182
+ export type { WorkbenchPlatformProviderProps } from './chrome/WorkbenchPlatformContext';
165
183
  export {
166
184
  resolveWorkbenchHostPlatform,
167
185
  resolveWorkbenchWindowChromeDataAttributes,
168
- } from './workbenchPlatformChrome';
169
- export type { WorkbenchHostPlatform, WorkbenchWindowChromeMode } from './workbenchPlatformChrome';
186
+ } from './chrome/workbenchPlatformChrome';
187
+ export type {
188
+ WorkbenchHostPlatform,
189
+ WorkbenchWindowChromeMode,
190
+ } from './chrome/workbenchPlatformChrome';
170
191
  export {
171
192
  WorkbenchWindowChromeControls,
172
193
  shouldUseDarwinPlatformChrome,
173
- } from './WorkbenchWindowChromeControls';
174
- export type { WorkbenchWindowChromeControlsProps } from './WorkbenchWindowChromeControls';
194
+ } from './shell/WorkbenchWindowChromeControls';
195
+ export type { WorkbenchWindowChromeControlsProps } from './shell/WorkbenchWindowChromeControls';
175
196
  export {
176
197
  WorkbenchShortcutCommandBridge,
177
198
  getWorkbenchShortcutCommandBindings,
@@ -179,7 +200,7 @@ export {
179
200
  matchesWorkbenchShortcut,
180
201
  runWorkbenchShortcutCommand,
181
202
  useWorkbenchShortcutCommands,
182
- } from './ShortcutCommandBridge';
203
+ } from './commands/ShortcutCommandBridge';
183
204
  export type { SlashCommandParseResult } from './chat/slashCommand';
184
205
  export type {
185
206
  WorkbenchCommandDescriptor,
@@ -201,8 +222,16 @@ export type {
201
222
  WorkbenchCommandSideEffect,
202
223
  WorkbenchCommandStatus,
203
224
  WorkbenchCommandSuggestProps,
204
- } from './CommandPalette';
205
- export type { ResolveWorkbenchCommandExecutionPolicyInput } from './CommandPalette';
225
+ } from './commands/CommandPalette';
226
+ export type { ResolveWorkbenchCommandExecutionPolicyInput } from './commands/CommandPalette';
227
+ export type {
228
+ CreateWorkspaceFilesQuickOpenProviderOptions,
229
+ QuickOpenItem,
230
+ QuickOpenProvider,
231
+ QuickOpenSearchContext,
232
+ QuickOpenSelectContext,
233
+ WorkbenchQuickOpenProps,
234
+ } from './commands/WorkbenchQuickOpen';
206
235
  export type {
207
236
  UseWorkbenchShortcutCommandsOptions,
208
237
  WorkbenchShortcutCommandBinding,
@@ -214,7 +243,7 @@ export type {
214
243
  WorkbenchShortcutEventLike,
215
244
  WorkbenchShortcutMatchInput,
216
245
  WorkbenchShortcutPlatform,
217
- } from './ShortcutCommandBridge';
246
+ } from './commands/ShortcutCommandBridge';
218
247
  export {
219
248
  WorkbenchConfirmationFlow,
220
249
  getWorkbenchConfirmationButtonVariant,
@@ -223,7 +252,7 @@ export {
223
252
  getWorkbenchConfirmationStatus,
224
253
  getWorkbenchConfirmationVariant,
225
254
  isWorkbenchConfirmationActionDisabled,
226
- } from './ConfirmationFlow';
255
+ } from './commands/ConfirmationFlow';
227
256
  export type {
228
257
  WorkbenchConfirmationAction,
229
258
  WorkbenchConfirmationCancelContext,
@@ -234,7 +263,7 @@ export type {
234
263
  WorkbenchConfirmationReason,
235
264
  WorkbenchConfirmationSideEffect,
236
265
  WorkbenchConfirmationVariant,
237
- } from './ConfirmationFlow';
266
+ } from './commands/ConfirmationFlow';
238
267
  export {
239
268
  WorkbenchAuthGate,
240
269
  WorkbenchLoginBrandMark,
@@ -269,6 +298,7 @@ export {
269
298
  WORKBENCH_EDITOR_CLOSE_ALL_COMMAND_ID,
270
299
  WORKBENCH_EDITOR_CLOSE_COMMAND_ID,
271
300
  WORKBENCH_EDITOR_CLOSE_OTHERS_COMMAND_ID,
301
+ WORKBENCH_EDITOR_CLOSE_TO_RIGHT_COMMAND_ID,
272
302
  WORKBENCH_EDITOR_COPY_PATH_COMMAND_ID,
273
303
  WORKBENCH_EDITOR_DELETE_COMMAND_ID,
274
304
  WORKBENCH_EDITOR_DISCARD_CHANGES_COMMAND_ID,
@@ -282,6 +312,7 @@ export {
282
312
  WORKBENCH_COMMAND_SURFACE_SETTINGS,
283
313
  WORKBENCH_COMMAND_SURFACE_WORKSPACE,
284
314
  WORKBENCH_OPEN_SETTINGS_COMMAND_ID,
315
+ WORKBENCH_TOGGLE_FOCUS_MODE_COMMAND_ID,
285
316
  WORKBENCH_SEARCH_COPY_RESULT_PATH_COMMAND_ID,
286
317
  WORKBENCH_SEARCH_DELETE_RESULT_COMMAND_ID,
287
318
  WORKBENCH_SEARCH_OPEN_RESULT_COMMAND_ID,
@@ -306,7 +337,7 @@ export {
306
337
  createWorkbenchWorkspaceFolderMenuEntries,
307
338
  createWorkbenchWorkspaceTargetMenuEntries,
308
339
  getWorkbenchShowActivityCommandId,
309
- } from './commands';
340
+ } from './commands/commands';
310
341
  export type {
311
342
  WorkbenchEditorCommandContext,
312
343
  WorkbenchSearchResultCommandContext,
@@ -315,18 +346,18 @@ export type {
315
346
  WorkbenchShellCommandPresetOptions,
316
347
  WorkbenchCommandSurface,
317
348
  WorkbenchWorkspaceCommandContext,
318
- } from './commands';
349
+ } from './commands/commands';
319
350
  export {
320
351
  initializeWorkbenchShellState,
321
352
  useWorkbenchShellState,
322
353
  workbenchShellStateReducer,
323
- } from './shellState';
354
+ } from './shell/shellState';
324
355
  export type {
325
356
  UseWorkbenchShellStateResult,
326
357
  WorkbenchShellAction,
327
358
  WorkbenchShellInitialState,
328
359
  WorkbenchShellState,
329
- } from './shellState';
360
+ } from './shell/shellState';
330
361
  export {
331
362
  getWorkbenchStatusDescriptor,
332
363
  getWorkbenchStatusLabel,
@@ -336,11 +367,15 @@ export {
336
367
  isWorkbenchStatusDisabled,
337
368
  isWorkbenchStatusUnavailable,
338
369
  workbenchStatusFromLifecycleStatus,
339
- } from './status';
340
- export type { WorkbenchStatus, WorkbenchStatusDescriptor, WorkbenchStatusVariant } from './status';
341
- export { SplitView } from './SplitView';
342
- export type { SplitViewLayoutMode, SplitViewProps } from './SplitView';
343
- export { StatusBar, StatusBarItem, StatusBarSection } from './StatusBar';
370
+ } from './shell/status';
371
+ export type {
372
+ WorkbenchStatus,
373
+ WorkbenchStatusDescriptor,
374
+ WorkbenchStatusVariant,
375
+ } from './shell/status';
376
+ export { SplitView } from './shell/SplitView';
377
+ export type { SplitViewLayoutMode, SplitViewProps } from './shell/SplitView';
378
+ export { StatusBar, StatusBarItem, StatusBarSection } from './shell/StatusBar';
344
379
  export type {
345
380
  StatusBarItemModel,
346
381
  StatusBarItemProps,
@@ -348,7 +383,7 @@ export type {
348
383
  StatusBarSectionAlign,
349
384
  StatusBarSectionModel,
350
385
  StatusBarSectionProps,
351
- } from './StatusBar';
386
+ } from './shell/StatusBar';
352
387
  export {
353
388
  WorkbenchTimeline,
354
389
  WorkbenchTimelineItem,
@@ -357,7 +392,7 @@ export {
357
392
  getWorkbenchTimelineEventLabel,
358
393
  getWorkbenchTimelineEventStatus,
359
394
  getWorkbenchTimelineMetadataEntries,
360
- } from './Timeline';
395
+ } from './shell/Timeline';
361
396
  export type {
362
397
  WorkbenchTimelineEvent,
363
398
  WorkbenchTimelineEventKind,
@@ -369,7 +404,7 @@ export type {
369
404
  WorkbenchTimelineRenderMetadata,
370
405
  WorkbenchTimelineRenderPayload,
371
406
  WorkbenchTimelineVariant,
372
- } from './Timeline';
407
+ } from './shell/Timeline';
373
408
  export {
374
409
  WorkbenchPanelRegion,
375
410
  WorkbenchNavigationPanel,
@@ -415,6 +450,7 @@ export type {
415
450
  ExtensionManagementEntry,
416
451
  ExtensionManagementPanelProps,
417
452
  ExtensionManagementSidebarProps,
453
+ ExtensionManagementTransition,
418
454
  KeybindingManagementPanelProps,
419
455
  ManagementPanelFrameProps,
420
456
  ManagementPanelToolbarProps,
@@ -552,44 +588,48 @@ export {
552
588
  stringifyWorkbenchStructuredDataSchemaFieldValue,
553
589
  validateWorkbenchStructuredDataSchemaFieldValue,
554
590
  } from './settings';
555
- export { WorkbenchShell } from './WorkbenchShell';
556
- export type { WorkbenchShellProps } from './WorkbenchShell';
557
- export { WorkbenchViewEditor } from './WorkbenchViewEditor';
591
+ export { WorkbenchShell } from './shell/WorkbenchShell';
592
+ export type { WorkbenchShellProps } from './shell/WorkbenchShell';
593
+ export { WorkbenchViewEditor } from './shell/WorkbenchViewEditor';
558
594
  export type {
559
595
  WorkbenchViewEditorDataAttributes,
560
596
  WorkbenchViewEditorEmptyState,
561
597
  WorkbenchViewEditorEmptyStateProps,
562
598
  WorkbenchViewEditorEmptyStateSurfaceProps,
563
599
  WorkbenchViewEditorProps,
564
- } from './WorkbenchViewEditor';
565
- export { WorkbenchEditorTabs } from './WorkbenchEditorTabs';
566
- export type { WorkbenchEditorTabsProps } from './WorkbenchEditorTabs';
600
+ } from './shell/WorkbenchViewEditor';
601
+ export { WorkbenchEditorTabs } from './editor/WorkbenchEditorTabs';
602
+ export type { WorkbenchEditorTabsProps } from './editor/WorkbenchEditorTabs';
567
603
  export {
568
604
  createWorkbenchStandaloneEditorTabCommandContext,
569
605
  createWorkbenchStandaloneEditorTabContextMenuItems,
570
606
  isWorkbenchEditorTabClosable,
571
- } from './editorTabContextMenu';
607
+ } from './editor/editorTabContextMenu';
572
608
  export type {
573
609
  CreateWorkbenchStandaloneEditorTabCommandContextInput,
610
+ CreateWorkbenchStandaloneEditorTabContextMenuItemsInput,
574
611
  WorkbenchStandaloneEditorTabLike,
575
- } from './editorTabContextMenu';
576
- export { useWorkbenchEditorTabContextMenu } from './useWorkbenchEditorTabContextMenu';
612
+ } from './editor/editorTabContextMenu';
613
+ export { useWorkbenchEditorTabContextMenu } from './editor/useWorkbenchEditorTabContextMenu';
577
614
  export type {
578
615
  UseWorkbenchEditorTabContextMenuOptions,
579
616
  UseWorkbenchEditorTabContextMenuResult,
580
- } from './useWorkbenchEditorTabContextMenu';
581
- export { WorkbenchViewSidebar } from './WorkbenchViewSidebar';
582
- export type { WorkbenchViewSidebarItem, WorkbenchViewSidebarProps } from './WorkbenchViewSidebar';
617
+ } from './editor/useWorkbenchEditorTabContextMenu';
618
+ export { WorkbenchViewSidebar } from './shell/WorkbenchViewSidebar';
619
+ export type {
620
+ WorkbenchViewSidebarItem,
621
+ WorkbenchViewSidebarProps,
622
+ } from './shell/WorkbenchViewSidebar';
583
623
  export {
584
624
  WorkbenchDesktopTitleBar,
585
625
  WorkbenchDesktopWindowControls,
586
- } from './WorkbenchDesktopTitleBar';
626
+ } from './shell/WorkbenchDesktopTitleBar';
587
627
  export type {
588
628
  WorkbenchDesktopTitleBarProps,
589
629
  WorkbenchDesktopWindowControlsProps,
590
- } from './WorkbenchDesktopTitleBar';
591
- export { WorkbenchStandaloneShell } from './WorkbenchStandaloneShell';
592
- export { WorkbenchCanvasShell } from './WorkbenchCanvasShell';
630
+ } from './shell/WorkbenchDesktopTitleBar';
631
+ export { WorkbenchStandaloneShell } from './shell/WorkbenchStandaloneShell';
632
+ export { WorkbenchCanvasShell } from './shell/WorkbenchCanvasShell';
593
633
  export type {
594
634
  WorkbenchActivityLifecycleCallbackMap,
595
635
  WorkbenchActivityLifecycleCallbacks,
@@ -599,18 +639,18 @@ export type {
599
639
  WorkbenchPrimarySidebarLifecycleReason,
600
640
  WorkbenchStandaloneShellContext,
601
641
  WorkbenchStandaloneShellProps,
602
- } from './WorkbenchStandaloneShell';
642
+ } from './shell/WorkbenchStandaloneShell';
603
643
  export {
604
644
  createWorkbenchStandaloneShellStateSnapshot,
605
645
  useWorkbenchStandaloneShellContext,
606
- } from './workbenchStandaloneShellReactContext';
646
+ } from './shell/workbenchStandaloneShellReactContext';
607
647
  export type {
608
648
  WorkbenchStandaloneShellStateChange,
609
649
  WorkbenchStandaloneShellStateChangeKind,
610
650
  WorkbenchStandaloneShellStateSnapshot,
611
- } from './workbenchStandaloneShellReactContext';
612
- export { useWorkbenchStandaloneShellStateSync } from './useWorkbenchStandaloneShellStateSync';
613
- export type { WorkbenchCanvasShellProps } from './WorkbenchCanvasShell';
651
+ } from './shell/workbenchStandaloneShellReactContext';
652
+ export { useWorkbenchStandaloneShellStateSync } from './shell/useWorkbenchStandaloneShellStateSync';
653
+ export type { WorkbenchCanvasShellProps } from './shell/WorkbenchCanvasShell';
614
654
  export type {
615
655
  WorkbenchActivityChangeEvent,
616
656
  WorkbenchActivityDescriptor,
@@ -625,9 +665,9 @@ export type {
625
665
  WorkbenchStatusController,
626
666
  WorkbenchTheme,
627
667
  WorkbenchWorkspaceController,
628
- } from './standalone';
629
- export { StructuredArtifactEditor } from './StructuredArtifactEditor';
630
- export type { StructuredArtifactEditorProps } from './StructuredArtifactEditor';
668
+ } from './shell/standalone';
669
+ export { StructuredArtifactEditor } from './shell/StructuredArtifactEditor';
670
+ export type { StructuredArtifactEditorProps } from './shell/StructuredArtifactEditor';
631
671
  export type {
632
672
  WorkbenchDocument,
633
673
  WorkbenchDocumentAdapter,
@@ -138,6 +138,20 @@ export function CommandManagementSidebar({
138
138
  focusCommandEntry(getNextEntryId(currentEntryId ?? activeEntryId, event.key));
139
139
  };
140
140
 
141
+ const renderCommandEntry = (entry: CommandManagementEntry) => (
142
+ <CommandSidebarListItem
143
+ key={entry.id}
144
+ active={entry.id === activeEntryId}
145
+ disabled={entry.status !== 'available' || !onRunCommand || lastRun?.status === 'running'}
146
+ entry={entry}
147
+ onActivate={() => setActiveEntryId(entry.id)}
148
+ onInspect={onInspectCommand}
149
+ onRun={() => {
150
+ void onRunCommand?.(entry.id);
151
+ }}
152
+ />
153
+ );
154
+
141
155
  return (
142
156
  <SideBarViewFrame
143
157
  actions={
@@ -199,21 +213,7 @@ export function CommandManagementSidebar({
199
213
  className={commandManagementListClassName}
200
214
  onKeyDown={handleListKeyDown}
201
215
  >
202
- {filteredGroups[0]?.entries.map((entry) => (
203
- <CommandSidebarListItem
204
- key={entry.id}
205
- active={entry.id === activeEntryId}
206
- disabled={
207
- entry.status !== 'available' || !onRunCommand || lastRun?.status === 'running'
208
- }
209
- entry={entry}
210
- onActivate={() => setActiveEntryId(entry.id)}
211
- onInspect={onInspectCommand}
212
- onRun={() => {
213
- void onRunCommand?.(entry.id);
214
- }}
215
- />
216
- ))}
216
+ {filteredGroups[0]?.entries.map(renderCommandEntry)}
217
217
  </SideBarList>
218
218
  ) : (
219
219
  <WorkbenchSidebarSectionStack
@@ -224,21 +224,7 @@ export function CommandManagementSidebar({
224
224
  className={commandManagementListClassName}
225
225
  onKeyDown={handleListKeyDown}
226
226
  >
227
- {group.entries.map((entry) => (
228
- <CommandSidebarListItem
229
- key={entry.id}
230
- active={entry.id === activeEntryId}
231
- disabled={
232
- entry.status !== 'available' || !onRunCommand || lastRun?.status === 'running'
233
- }
234
- entry={entry}
235
- onActivate={() => setActiveEntryId(entry.id)}
236
- onInspect={onInspectCommand}
237
- onRun={() => {
238
- void onRunCommand?.(entry.id);
239
- }}
240
- />
241
- ))}
227
+ {group.entries.map(renderCommandEntry)}
242
228
  </SideBarList>
243
229
  ),
244
230
  id: `command-group-${group.id}`,