@workbench-kit/shell-react 0.0.2-prototype.0.2.16 → 0.0.2-prototype.0.2.17

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workbench-kit/shell-react",
3
- "version": "0.0.2-prototype.0.2.16",
3
+ "version": "0.0.2-prototype.0.2.17",
4
4
  "private": false,
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -24,13 +24,13 @@
24
24
  "@xyflow/react": "^12.11.2",
25
25
  "jsonata": "^2.2.0",
26
26
  "react-table-mapping": "^1.0.3",
27
- "@workbench-kit/react": "0.0.2-prototype.0.2.16",
28
- "@workbench-kit/workbench-config": "0.0.2-prototype.0.2.16",
29
- "@workbench-kit/field-remap": "0.0.2-prototype.0.2.16",
30
- "@workbench-kit/tokens": "0.0.2-prototype.0.2.16",
31
- "@workbench-kit/workbench-core": "0.0.2-prototype.0.2.16",
32
- "@workbench-kit/platform": "0.0.2-prototype.0.2.16",
33
- "@workbench-kit/workspace": "0.0.2-prototype.0.2.16"
27
+ "@workbench-kit/react": "0.0.2-prototype.0.2.17",
28
+ "@workbench-kit/tokens": "0.0.2-prototype.0.2.17",
29
+ "@workbench-kit/workbench-config": "0.0.2-prototype.0.2.17",
30
+ "@workbench-kit/field-remap": "0.0.2-prototype.0.2.17",
31
+ "@workbench-kit/workbench-core": "0.0.2-prototype.0.2.17",
32
+ "@workbench-kit/platform": "0.0.2-prototype.0.2.17",
33
+ "@workbench-kit/workspace": "0.0.2-prototype.0.2.17"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "react": "^19.0.0",
package/src/index.ts CHANGED
@@ -4,6 +4,7 @@ export {
4
4
  WorkbenchProvider,
5
5
  useWorkbench,
6
6
  type WorkbenchContextValue,
7
+ type WorkbenchProviderProps,
7
8
  type WorkbenchStorageAdapter,
8
9
  type WorkbenchWorkspaceHostPort,
9
10
  } from './shell/provider.js';
@@ -102,6 +102,9 @@ const DEFAULT_AVAILABLE_EXTENSIONS = [
102
102
  ...SAMPLE_WORKBENCH_EXTENSIONS,
103
103
  ] as const;
104
104
 
105
+ const EMPTY_HOST_THEMES: readonly WorkbenchHostThemeRegistration[] = Object.freeze([]);
106
+ const EMPTY_USER_COMMANDS: readonly WorkbenchUserCommandDefinition[] = Object.freeze([]);
107
+
105
108
  export interface WorkbenchProviderProps {
106
109
  availableExtensions?: readonly WorkbenchExtensionDescription[];
107
110
  children: ReactNode;
@@ -195,7 +198,7 @@ export function WorkbenchProvider({
195
198
  extensionIntegrityMode = 'off',
196
199
  extensionsConfig,
197
200
  extensionsLock,
198
- hostThemes = [],
201
+ hostThemes = EMPTY_HOST_THEMES,
199
202
  initialEditorState,
200
203
  initialKeybindingOverrides,
201
204
  initialLayout,
@@ -214,7 +217,7 @@ export function WorkbenchProvider({
214
217
  persistKeybindingOverrides,
215
218
  persistLayout,
216
219
  persistLocalPreferences,
217
- userCommands = [],
220
+ userCommands = EMPTY_USER_COMMANDS,
218
221
  viewHostFactories,
219
222
  workspaceHostPort,
220
223
  }: WorkbenchProviderProps) {
@@ -127,6 +127,8 @@ export interface WorkbenchShellProps {
127
127
  onLocaleChange?: ((locale: string) => void) | undefined;
128
128
  locale?: string | undefined;
129
129
  onStatusItemActivate?: (item: StatusBarItemModel) => void;
130
+ /** Host-owned dialogs and command surfaces rendered inside the shell overlay container. */
131
+ overlays?: ReactNode;
130
132
  primarySidebar?: ReactNode;
131
133
  profile?: WorkbenchProfileInput | undefined;
132
134
  profileExtraContent?: ReactNode;
@@ -179,6 +181,7 @@ export function WorkbenchShell({
179
181
  onShellPresetChange,
180
182
  onThemeChange,
181
183
  onStatusItemActivate,
184
+ overlays,
182
185
  primarySidebar,
183
186
  profile,
184
187
  profileExtraContent,
@@ -681,6 +684,7 @@ export function WorkbenchShell({
681
684
  shellPreset={shellPreset}
682
685
  overlays={
683
686
  <>
687
+ {overlays}
684
688
  {commandHost !== false ? (
685
689
  <WorkbenchCommandHost
686
690
  {...(resolvedCommandHost === false ? {} : resolvedCommandHost)}