@workbench-kit/react 0.0.1-prototype.0 → 0.0.2-prototype.0.1.1

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 (155) hide show
  1. package/package.json +33 -9
  2. package/src/index.ts +545 -43
  3. package/src/jdw/JdwPreview.tsx +38 -0
  4. package/src/jdw/JsonCodeEditorPane.tsx +274 -0
  5. package/src/jdw/builtins/renderBuiltinWidgetLeaf.tsx +29 -0
  6. package/src/jdw/builtins/renderBuiltinWidgetNode.tsx +126 -0
  7. package/src/jdw/createBuiltinJdwRegistry.ts +111 -0
  8. package/src/jdw/cssRenderBackend.tsx +134 -0
  9. package/src/jdw/document.ts +38 -0
  10. package/src/jdw/fixtures/jdw-fixtures.ts +52 -0
  11. package/src/jdw/fixtures/jdw-sample-screens.ts +522 -0
  12. package/src/jdw/index.ts +45 -0
  13. package/src/jdw/parse.ts +1 -0
  14. package/src/jdw/renderJdw.tsx +32 -0
  15. package/src/json-config/JsonConfigWorkbench.tsx +316 -0
  16. package/src/json-config/index.ts +6 -0
  17. package/src/json-config/json-config-editor-state.ts +42 -0
  18. package/src/layout/Panel.tsx +146 -1
  19. package/src/layout/SideBarViewFrame.tsx +367 -328
  20. package/src/layout/WorkbenchCanvas.tsx +849 -0
  21. package/src/layout/WorkbenchFullscreen.tsx +368 -0
  22. package/src/layout/WorkbenchLayout.tsx +5 -0
  23. package/src/layout/WorkbenchLayoutBase.tsx +294 -0
  24. package/src/layout/WorkbenchPropertyPanel.tsx +497 -0
  25. package/src/layout/WorkbenchSidebarActions.tsx +274 -0
  26. package/src/layout/WorkbenchTree.tsx +351 -0
  27. package/src/layout/layoutHelpers.ts +25 -0
  28. package/src/modal/ConfirmDialog.tsx +61 -53
  29. package/src/modal/Modal.tsx +295 -35
  30. package/src/overlay/ContextMenu.tsx +146 -145
  31. package/src/primitives/AbsoluteBox.tsx +46 -0
  32. package/src/primitives/Badge.tsx +12 -12
  33. package/src/primitives/Button.tsx +44 -14
  34. package/src/primitives/Checkbox.tsx +11 -5
  35. package/src/primitives/EmptyState.tsx +27 -26
  36. package/src/primitives/Field.tsx +38 -38
  37. package/src/primitives/IconButton.tsx +5 -2
  38. package/src/primitives/List.tsx +111 -0
  39. package/src/primitives/NumberInput.tsx +38 -0
  40. package/src/primitives/ScrollArea.tsx +42 -0
  41. package/src/primitives/Select.tsx +1 -12
  42. package/src/primitives/StatusBar.tsx +46 -0
  43. package/src/primitives/TextArea.tsx +36 -0
  44. package/src/primitives/TextInput.tsx +11 -2
  45. package/src/primitives/WorkbenchChrome.tsx +424 -0
  46. package/src/primitives/WorkbenchEditor.tsx +394 -0
  47. package/src/primitives/index.ts +105 -0
  48. package/src/primitives/select/Select.tsx +266 -0
  49. package/src/primitives/select/index.ts +2 -0
  50. package/src/primitives/select/options.ts +38 -0
  51. package/src/primitives/select/overlay.ts +63 -0
  52. package/src/primitives/select/select.app.css +9 -0
  53. package/src/primitives/select/select.css +140 -0
  54. package/src/primitives/select/types.ts +18 -0
  55. package/src/primitives/styles.css +955 -0
  56. package/src/scrollbars.css +69 -0
  57. package/src/styles.css +7738 -1762
  58. package/src/utils/codicon.ts +17 -0
  59. package/src/widget-asset/WidgetAssetEditor.tsx +140 -0
  60. package/src/widget-asset/WidgetAssetMetadataForm.tsx +82 -0
  61. package/src/widget-asset/WidgetAssetModeControls.tsx +42 -0
  62. package/src/widget-asset/WidgetAssetSourceEditor.tsx +50 -0
  63. package/src/widget-asset/WidgetAssetWorkbench.tsx +112 -0
  64. package/src/widget-asset/index.ts +17 -0
  65. package/src/widget-asset/widget-asset-document.ts +37 -0
  66. package/src/widget-asset/widget-asset-mode.ts +3 -0
  67. package/src/widget-studio/builtin-widget-asset-catalog.ts +12 -0
  68. package/src/widget-studio/create-widget-studio-workspace-editor.tsx +79 -0
  69. package/src/widget-studio/index.ts +7 -0
  70. package/src/widget-studio/resolve-widget-studio-asset-catalog.ts +26 -0
  71. package/src/widget-tree/WidgetAssetPalette.tsx +77 -0
  72. package/src/widget-tree/WidgetInspectorPanel.tsx +266 -0
  73. package/src/widget-tree/WidgetSourceEditor.tsx +56 -0
  74. package/src/widget-tree/WidgetTreeLab.tsx +272 -0
  75. package/src/widget-tree/WidgetTreeModeControls.tsx +44 -0
  76. package/src/widget-tree/WidgetTreeSidePanel.tsx +49 -0
  77. package/src/widget-tree/WidgetTreeView.tsx +97 -0
  78. package/src/widget-tree/WidgetTreeWorkbench.tsx +111 -0
  79. package/src/widget-tree/WidgetTreeWorkspaceShell.tsx +154 -0
  80. package/src/widget-tree/demo-registry.ts +32 -0
  81. package/src/widget-tree/demo-widget-assets.ts +4 -0
  82. package/src/widget-tree/index.ts +27 -0
  83. package/src/widget-tree/widget-tree-document.ts +20 -0
  84. package/src/widget-tree/widget-tree-layout.ts +31 -0
  85. package/src/widget-tree/widget-tree-mode.ts +7 -0
  86. package/src/widget-tree/widget-tree-play-helpers.ts +74 -0
  87. package/src/workbench/ActivityBar.tsx +52 -52
  88. package/src/workbench/ArtifactShell.tsx +397 -0
  89. package/src/workbench/CommandPalette.tsx +819 -0
  90. package/src/workbench/ConfirmationFlow.tsx +245 -0
  91. package/src/workbench/MarkdownPreview.tsx +151 -0
  92. package/src/workbench/ShortcutCommandBridge.tsx +368 -0
  93. package/src/workbench/SplitView.tsx +136 -136
  94. package/src/workbench/StatusBar.tsx +178 -123
  95. package/src/workbench/StructuredArtifactEditor.tsx +205 -0
  96. package/src/workbench/Timeline.tsx +302 -0
  97. package/src/workbench/WorkbenchCanvasShell.tsx +941 -0
  98. package/src/workbench/WorkbenchShell.tsx +74 -70
  99. package/src/workbench/WorkbenchStandaloneShell.tsx +318 -291
  100. package/src/workbench/auth/WorkbenchAuthGate.tsx +61 -0
  101. package/src/workbench/auth/WorkbenchLoginView.tsx +635 -0
  102. package/src/workbench/auth/index.ts +19 -0
  103. package/src/workbench/chat/ChatComposer.tsx +165 -148
  104. package/src/workbench/chat/ChatMessageItem.tsx +10 -1
  105. package/src/workbench/chat/index.ts +9 -0
  106. package/src/workbench/chat/slashCommand.ts +28 -0
  107. package/src/workbench/chat/useChatRuntimeState.ts +76 -0
  108. package/src/workbench/chat/useSlashCommandSuggest.ts +101 -0
  109. package/src/workbench/commands.ts +520 -490
  110. package/src/workbench/index.ts +443 -98
  111. package/src/workbench/keyboard.ts +53 -0
  112. package/src/workbench/schema/index.ts +48 -0
  113. package/src/workbench/schema/workbenchDocument.ts +31 -0
  114. package/src/workbench/schema/workbenchDocumentActions.ts +6 -0
  115. package/src/workbench/schema/workbenchDocumentAdapter.ts +9 -0
  116. package/src/workbench/schema/workbenchDocumentPatch.ts +13 -0
  117. package/src/workbench/schema/workbenchDocumentRenderer.tsx +702 -0
  118. package/src/workbench/settings/NavigationPanel.tsx +47 -0
  119. package/src/workbench/settings/SchemaForm.tsx +420 -0
  120. package/src/workbench/settings/SectionedPanel.tsx +415 -0
  121. package/src/workbench/settings/StructuredDataForm.tsx +539 -0
  122. package/src/workbench/settings/StructuredDataSchemaPanel.tsx +559 -0
  123. package/src/workbench/settings/StructuredDataSchemaPanelEmbed.tsx +21 -0
  124. package/src/workbench/settings/StructuredDataSchemaPanelFrame.tsx +76 -0
  125. package/src/workbench/settings/StructuredDataTableView.tsx +127 -0
  126. package/src/workbench/settings/WorkbenchPanelRegion.tsx +46 -0
  127. package/src/workbench/settings/WorkbenchSettingsModal.tsx +21 -12
  128. package/src/workbench/settings/WorkbenchSettingsNav.tsx +38 -22
  129. package/src/workbench/settings/index.ts +135 -0
  130. package/src/workbench/settings/panel-region.css +21 -0
  131. package/src/workbench/settings/sectionedPanelScrollSpy.ts +143 -0
  132. package/src/workbench/settings/structured-data-schema-panel.css +330 -0
  133. package/src/workbench/settings/structured-data-table-view.css +85 -0
  134. package/src/workbench/settings/structuredDataSchema.ts +886 -0
  135. package/src/workbench/shell.ts +15 -0
  136. package/src/workbench/shellState.ts +203 -203
  137. package/src/workbench/standalone.ts +101 -94
  138. package/src/workbench/status.ts +129 -0
  139. package/src/workbench/theme.ts +44 -0
  140. package/src/workbench/workspace/MultiProviderExplorer.tsx +625 -0
  141. package/src/workbench/workspace/WorkspaceDraftsContext.tsx +111 -0
  142. package/src/workbench/workspace/WorkspaceEditor.tsx +47 -12
  143. package/src/workbench/workspace/WorkspaceEditorPanel.tsx +334 -353
  144. package/src/workbench/workspace/WorkspaceExplorer.tsx +532 -524
  145. package/src/workbench/workspace/WorkspaceFileIcon.tsx +32 -2
  146. package/src/workbench/workspace/WorkspaceSearchPanel.tsx +113 -113
  147. package/src/workbench/workspace/WorkspaceSearchResults.tsx +47 -47
  148. package/src/workbench/workspace/index.ts +156 -98
  149. package/src/workbench/workspace/mimeType.ts +45 -0
  150. package/src/workbench/workspace/path.ts +10 -10
  151. package/src/workbench/workspace/search.ts +6 -6
  152. package/src/workbench/workspace/tree.ts +1 -1
  153. package/src/workbench/workspace/types.ts +10 -10
  154. package/src/workbench/workspace/useVirtualWorkspace.ts +111 -98
  155. package/src/workbench/workspace/workspaceJsonDiagnostics.ts +83 -0
@@ -1,98 +1,443 @@
1
- export { ActivityBar } from './ActivityBar';
2
- export type { ActivityBarItem, ActivityBarProps } from './ActivityBar';
3
- export {
4
- WORKBENCH_EDITOR_CLOSE_ALL_COMMAND_ID,
5
- WORKBENCH_EDITOR_CLOSE_COMMAND_ID,
6
- WORKBENCH_EDITOR_CLOSE_OTHERS_COMMAND_ID,
7
- WORKBENCH_EDITOR_COPY_PATH_COMMAND_ID,
8
- WORKBENCH_EDITOR_DELETE_COMMAND_ID,
9
- WORKBENCH_EDITOR_DISCARD_CHANGES_COMMAND_ID,
10
- WORKBENCH_EDITOR_SAVE_COMMAND_ID,
11
- WORKBENCH_COMMAND_SURFACE_ACTIVITY_BAR,
12
- WORKBENCH_COMMAND_SURFACE_EDITOR,
13
- WORKBENCH_COMMAND_SURFACE_SEARCH,
14
- WORKBENCH_COMMAND_SURFACE_SETTINGS,
15
- WORKBENCH_COMMAND_SURFACE_WORKSPACE,
16
- WORKBENCH_OPEN_SETTINGS_COMMAND_ID,
17
- WORKBENCH_SEARCH_COPY_RESULT_PATH_COMMAND_ID,
18
- WORKBENCH_SEARCH_DELETE_RESULT_COMMAND_ID,
19
- WORKBENCH_SEARCH_OPEN_RESULT_COMMAND_ID,
20
- WORKBENCH_TOGGLE_PRIMARY_SIDEBAR_COMMAND_ID,
21
- WORKBENCH_WORKSPACE_COPY_PATH_COMMAND_ID,
22
- WORKBENCH_WORKSPACE_DELETE_COMMAND_ID,
23
- WORKBENCH_WORKSPACE_NEW_FILE_COMMAND_ID,
24
- WORKBENCH_WORKSPACE_NEW_FOLDER_COMMAND_ID,
25
- WORKBENCH_WORKSPACE_OPEN_COMMAND_ID,
26
- WORKBENCH_WORKSPACE_RENAME_COMMAND_ID,
27
- commandMenuItemsToContextMenuItems,
28
- createWorkbenchEditorCommands,
29
- createWorkbenchEditorTabListMenuEntries,
30
- createWorkbenchEditorTabMenuEntries,
31
- createWorkbenchSearchResultCommands,
32
- createWorkbenchSearchResultMenuEntries,
33
- createWorkbenchShellCommands,
34
- createWorkbenchShellMenuEntries,
35
- createWorkbenchWorkspaceCommands,
36
- createWorkbenchWorkspaceCreateMenuEntries,
37
- createWorkbenchWorkspaceFolderMenuEntries,
38
- createWorkbenchWorkspaceTargetMenuEntries,
39
- getWorkbenchShowActivityCommandId,
40
- } from './commands';
41
- export type {
42
- WorkbenchEditorCommandContext,
43
- WorkbenchSearchResultCommandContext,
44
- WorkbenchShellCommandActivity,
45
- WorkbenchShellCommandContext,
46
- WorkbenchShellCommandPresetOptions,
47
- WorkbenchCommandSurface,
48
- WorkbenchWorkspaceCommandContext,
49
- } from './commands';
50
- export {
51
- initializeWorkbenchShellState,
52
- useWorkbenchShellState,
53
- workbenchShellStateReducer,
54
- } from './shellState';
55
- export type {
56
- UseWorkbenchShellStateResult,
57
- WorkbenchShellAction,
58
- WorkbenchShellInitialState,
59
- WorkbenchShellState,
60
- } from './shellState';
61
- export { SplitView } from './SplitView';
62
- export type { SplitViewProps } from './SplitView';
63
- export { StatusBar, StatusBarItem, StatusBarSection } from './StatusBar';
64
- export type {
65
- StatusBarItemModel,
66
- StatusBarItemProps,
67
- StatusBarProps,
68
- StatusBarSectionAlign,
69
- StatusBarSectionModel,
70
- StatusBarSectionProps,
71
- } from './StatusBar';
72
- export { WorkbenchSettingsModal } from './settings';
73
- export type {
74
- WorkbenchSettingsCategory,
75
- WorkbenchSettingsModalProps,
76
- WorkbenchSettingsScope,
77
- } from './settings';
78
- export { WorkbenchShell } from './WorkbenchShell';
79
- export type { WorkbenchShellProps } from './WorkbenchShell';
80
- export { WorkbenchStandaloneShell } from './WorkbenchStandaloneShell';
81
- export type {
82
- WorkbenchStandaloneShellContext,
83
- WorkbenchStandaloneShellProps,
84
- } from './WorkbenchStandaloneShell';
85
- export type {
86
- WorkbenchActivityChangeEvent,
87
- WorkbenchActivityDescriptor,
88
- WorkbenchChatController,
89
- WorkbenchPatchController,
90
- WorkbenchSaveController,
91
- WorkbenchShellContract,
92
- WorkbenchStandaloneBootstrap,
93
- WorkbenchStandaloneBootstrapEvent,
94
- WorkbenchStandaloneEntryState,
95
- WorkbenchStatusController,
96
- WorkbenchTheme,
97
- WorkbenchWorkspaceController,
98
- } from './standalone';
1
+ export { ActivityBar } from './ActivityBar';
2
+ export type { ActivityBarItem, ActivityBarProps } from './ActivityBar';
3
+ export {
4
+ WorkbenchArtifactModeControls,
5
+ WorkbenchArtifactPreview,
6
+ WorkbenchArtifactShell,
7
+ formatWorkbenchArtifactContent,
8
+ getWorkbenchArtifactExtension,
9
+ getWorkbenchArtifactTitle,
10
+ getWorkbenchPreviewRenderer,
11
+ getWorkbenchPreviewRendererMatch,
12
+ selectWorkbenchPreviewRenderer,
13
+ } from './ArtifactShell';
14
+ export type {
15
+ WorkbenchArtifactDescriptor,
16
+ WorkbenchArtifactMode,
17
+ WorkbenchArtifactModeControlsProps,
18
+ WorkbenchArtifactPreviewProps,
19
+ WorkbenchArtifactShellProps,
20
+ WorkbenchArtifactShellRenderCode,
21
+ WorkbenchArtifactShellRenderPreview,
22
+ WorkbenchPreviewRenderer,
23
+ WorkbenchPreviewRendererContext,
24
+ WorkbenchPreviewRendererMatch,
25
+ WorkbenchPreviewRendererMatchReason,
26
+ } from './ArtifactShell';
27
+ export {
28
+ WorkbenchCommandGroupShell,
29
+ WorkbenchCommandList,
30
+ WorkbenchCommandPalette,
31
+ WorkbenchCommandSuggest,
32
+ commandMenuItemsToWorkbenchCommandDescriptors,
33
+ commandMenuItemToWorkbenchCommandDescriptor,
34
+ filterWorkbenchCommands,
35
+ getNextWorkbenchCommandIndex,
36
+ getWorkbenchCommandExecutionLabel,
37
+ getWorkbenchCommandStatusLabel,
38
+ groupWorkbenchCommands,
39
+ isWorkbenchCommandRunnable,
40
+ } from './CommandPalette';
41
+ export { WorkbenchMarkdownPreview } from './MarkdownPreview';
42
+ export type { WorkbenchMarkdownPreviewProps } from './MarkdownPreview';
43
+ export { getSlashCommandQuery, isSlashCommandInput, parseSlashCommand } from './chat/slashCommand';
44
+ export { useSlashCommandSuggest } from './chat/useSlashCommandSuggest';
45
+ export type {
46
+ UseSlashCommandSuggestOptions,
47
+ UseSlashCommandSuggestResult,
48
+ } from './chat/useSlashCommandSuggest';
49
+ export {
50
+ WORKBENCH_ACTIVE_EDITOR_SAVE_SHORTCUT_ATTRIBUTE,
51
+ hasWorkbenchModalDialogOpen,
52
+ isWorkbenchSaveShortcutEvent,
53
+ useWorkbenchNativeContextMenuGuard,
54
+ useWorkbenchNativeSaveGuard,
55
+ } from './keyboard';
56
+ export { resolveWorkbenchTheme, useResolvedWorkbenchTheme } from './theme';
57
+ export type { ResolvedWorkbenchTheme } from './theme';
58
+ export {
59
+ WorkbenchShortcutCommandBridge,
60
+ getWorkbenchShortcutCommandBindings,
61
+ getWorkbenchShortcutFromEvent,
62
+ matchesWorkbenchShortcut,
63
+ runWorkbenchShortcutCommand,
64
+ useWorkbenchShortcutCommands,
65
+ } from './ShortcutCommandBridge';
66
+ export type { SlashCommandParseResult } from './chat/slashCommand';
67
+ export type {
68
+ WorkbenchCommandDescriptor,
69
+ WorkbenchCommandDescriptorOverrides,
70
+ WorkbenchCommandExecution,
71
+ WorkbenchCommandFeedback,
72
+ WorkbenchCommandFilterInput,
73
+ WorkbenchCommandGroup,
74
+ WorkbenchCommandGroupBy,
75
+ WorkbenchCommandGroupShellProps,
76
+ WorkbenchCommandGroupingInput,
77
+ WorkbenchCommandListProps,
78
+ WorkbenchCommandNavigationInput,
79
+ WorkbenchCommandOutput,
80
+ WorkbenchCommandPaletteProps,
81
+ WorkbenchCommandRunContext,
82
+ WorkbenchCommandRunSource,
83
+ WorkbenchCommandSideEffect,
84
+ WorkbenchCommandStatus,
85
+ WorkbenchCommandSuggestProps,
86
+ } from './CommandPalette';
87
+ export type {
88
+ UseWorkbenchShortcutCommandsOptions,
89
+ WorkbenchShortcutCommandBinding,
90
+ WorkbenchShortcutCommandBindingInput,
91
+ WorkbenchShortcutCommandBridgeProps,
92
+ WorkbenchShortcutCommandMissReason,
93
+ WorkbenchShortcutCommandRunInput,
94
+ WorkbenchShortcutCommandRunResult,
95
+ WorkbenchShortcutEventLike,
96
+ WorkbenchShortcutMatchInput,
97
+ WorkbenchShortcutPlatform,
98
+ } from './ShortcutCommandBridge';
99
+ export {
100
+ WorkbenchConfirmationFlow,
101
+ getWorkbenchConfirmationButtonVariant,
102
+ getWorkbenchConfirmationConfirmLabel,
103
+ getWorkbenchConfirmationSideEffect,
104
+ getWorkbenchConfirmationStatus,
105
+ getWorkbenchConfirmationVariant,
106
+ isWorkbenchConfirmationActionDisabled,
107
+ } from './ConfirmationFlow';
108
+ export type {
109
+ WorkbenchConfirmationAction,
110
+ WorkbenchConfirmationCancelContext,
111
+ WorkbenchConfirmationCloseContext,
112
+ WorkbenchConfirmationConfirmContext,
113
+ WorkbenchConfirmationContext,
114
+ WorkbenchConfirmationFlowProps,
115
+ WorkbenchConfirmationReason,
116
+ WorkbenchConfirmationSideEffect,
117
+ WorkbenchConfirmationVariant,
118
+ } from './ConfirmationFlow';
119
+ export {
120
+ WorkbenchAuthGate,
121
+ WorkbenchLoginBrandMark,
122
+ WorkbenchLoginView,
123
+ WorkbenchPasswordResetView,
124
+ WorkbenchSignUpView,
125
+ } from './auth';
126
+ export type {
127
+ WorkbenchAuthGateProps,
128
+ WorkbenchAuthStatus,
129
+ WorkbenchLoginCredentials,
130
+ WorkbenchLoginSubmitContext,
131
+ WorkbenchLoginViewProps,
132
+ WorkbenchPasswordResetCredentials,
133
+ WorkbenchPasswordResetSubmitContext,
134
+ WorkbenchPasswordResetViewProps,
135
+ WorkbenchSignUpCredentials,
136
+ WorkbenchSignUpSubmitContext,
137
+ WorkbenchSignUpViewProps,
138
+ } from './auth';
139
+ export {
140
+ WORKBENCH_EDITOR_CLOSE_ALL_COMMAND_ID,
141
+ WORKBENCH_EDITOR_CLOSE_COMMAND_ID,
142
+ WORKBENCH_EDITOR_CLOSE_OTHERS_COMMAND_ID,
143
+ WORKBENCH_EDITOR_COPY_PATH_COMMAND_ID,
144
+ WORKBENCH_EDITOR_DELETE_COMMAND_ID,
145
+ WORKBENCH_EDITOR_DISCARD_CHANGES_COMMAND_ID,
146
+ WORKBENCH_EDITOR_SAVE_COMMAND_ID,
147
+ WORKBENCH_COMMAND_SURFACE_ACTIVITY_BAR,
148
+ WORKBENCH_COMMAND_SURFACE_EDITOR,
149
+ WORKBENCH_COMMAND_SURFACE_SEARCH,
150
+ WORKBENCH_COMMAND_SURFACE_SETTINGS,
151
+ WORKBENCH_COMMAND_SURFACE_WORKSPACE,
152
+ WORKBENCH_OPEN_SETTINGS_COMMAND_ID,
153
+ WORKBENCH_SEARCH_COPY_RESULT_PATH_COMMAND_ID,
154
+ WORKBENCH_SEARCH_DELETE_RESULT_COMMAND_ID,
155
+ WORKBENCH_SEARCH_OPEN_RESULT_COMMAND_ID,
156
+ WORKBENCH_TOGGLE_PRIMARY_SIDEBAR_COMMAND_ID,
157
+ WORKBENCH_WORKSPACE_COPY_PATH_COMMAND_ID,
158
+ WORKBENCH_WORKSPACE_DELETE_COMMAND_ID,
159
+ WORKBENCH_WORKSPACE_NEW_FILE_COMMAND_ID,
160
+ WORKBENCH_WORKSPACE_NEW_FOLDER_COMMAND_ID,
161
+ WORKBENCH_WORKSPACE_OPEN_COMMAND_ID,
162
+ WORKBENCH_WORKSPACE_RENAME_COMMAND_ID,
163
+ commandMenuItemsToContextMenuItems,
164
+ createWorkbenchEditorCommands,
165
+ createWorkbenchEditorTabListMenuEntries,
166
+ createWorkbenchEditorTabMenuEntries,
167
+ createWorkbenchSearchResultCommands,
168
+ createWorkbenchSearchResultMenuEntries,
169
+ createWorkbenchShellCommands,
170
+ createWorkbenchShellMenuEntries,
171
+ createWorkbenchWorkspaceCommands,
172
+ createWorkbenchWorkspaceCreateMenuEntries,
173
+ createWorkbenchWorkspaceFolderMenuEntries,
174
+ createWorkbenchWorkspaceTargetMenuEntries,
175
+ getWorkbenchShowActivityCommandId,
176
+ } from './commands';
177
+ export type {
178
+ WorkbenchEditorCommandContext,
179
+ WorkbenchSearchResultCommandContext,
180
+ WorkbenchShellCommandActivity,
181
+ WorkbenchShellCommandContext,
182
+ WorkbenchShellCommandPresetOptions,
183
+ WorkbenchCommandSurface,
184
+ WorkbenchWorkspaceCommandContext,
185
+ } from './commands';
186
+ export {
187
+ initializeWorkbenchShellState,
188
+ useWorkbenchShellState,
189
+ workbenchShellStateReducer,
190
+ } from './shellState';
191
+ export type {
192
+ UseWorkbenchShellStateResult,
193
+ WorkbenchShellAction,
194
+ WorkbenchShellInitialState,
195
+ WorkbenchShellState,
196
+ } from './shellState';
197
+ export {
198
+ getWorkbenchStatusDescriptor,
199
+ getWorkbenchStatusLabel,
200
+ getWorkbenchStatusVariant,
201
+ isWorkbenchStatus,
202
+ isWorkbenchStatusBusy,
203
+ isWorkbenchStatusDisabled,
204
+ isWorkbenchStatusUnavailable,
205
+ workbenchStatusFromLifecycleStatus,
206
+ } from './status';
207
+ export type { WorkbenchStatus, WorkbenchStatusDescriptor, WorkbenchStatusVariant } from './status';
208
+ export { SplitView } from './SplitView';
209
+ export type { SplitViewProps } from './SplitView';
210
+ export { StatusBar, StatusBarItem, StatusBarSection } from './StatusBar';
211
+ export type {
212
+ StatusBarItemModel,
213
+ StatusBarItemProps,
214
+ StatusBarProps,
215
+ StatusBarSectionAlign,
216
+ StatusBarSectionModel,
217
+ StatusBarSectionProps,
218
+ } from './StatusBar';
219
+ export {
220
+ WorkbenchTimeline,
221
+ WorkbenchTimelineItem,
222
+ formatWorkbenchTimelineMetadataValue,
223
+ getWorkbenchTimelineEventIconClass,
224
+ getWorkbenchTimelineEventLabel,
225
+ getWorkbenchTimelineEventStatus,
226
+ getWorkbenchTimelineMetadataEntries,
227
+ } from './Timeline';
228
+ export type {
229
+ WorkbenchTimelineEvent,
230
+ WorkbenchTimelineEventKind,
231
+ WorkbenchTimelineItemProps,
232
+ WorkbenchTimelineMessageSource,
233
+ WorkbenchTimelineMetadataEntry,
234
+ WorkbenchTimelineProps,
235
+ WorkbenchTimelineRenderContext,
236
+ WorkbenchTimelineRenderMetadata,
237
+ WorkbenchTimelineRenderPayload,
238
+ WorkbenchTimelineVariant,
239
+ } from './Timeline';
240
+ export {
241
+ WorkbenchPanelRegion,
242
+ WorkbenchNavigationPanel,
243
+ WorkbenchSectionedPanel,
244
+ WorkbenchSettingsModal,
245
+ WorkbenchStructuredDataForm,
246
+ WorkbenchStructuredDataSchemaFieldInput,
247
+ WorkbenchStructuredDataSchemaPanel,
248
+ WorkbenchStructuredDataSchemaPanelEmbed,
249
+ WorkbenchStructuredDataSchemaPanelFrame,
250
+ WorkbenchStructuredDataTableView,
251
+ WorkbenchStructuredDataTextArrayInput,
252
+ buildWorkbenchStructuredDataTableFromRecords,
253
+ formatWorkbenchStructuredDataTableCell,
254
+ } from './settings';
255
+ export type {
256
+ WorkbenchPanelRegionProps,
257
+ WorkbenchNavigationPanelProps,
258
+ WorkbenchSectionedPanelItem,
259
+ WorkbenchSectionedPanelProps,
260
+ WorkbenchSchemaFormCancelContext,
261
+ WorkbenchSchemaFormCheckboxField,
262
+ WorkbenchSchemaFormErrors,
263
+ WorkbenchSchemaFormField,
264
+ WorkbenchSchemaFormFieldBase,
265
+ WorkbenchSchemaFormFieldChangeContext,
266
+ WorkbenchSchemaFormFieldType,
267
+ WorkbenchSchemaFormFieldValue,
268
+ WorkbenchSchemaFormNumberField,
269
+ WorkbenchSchemaFormOption,
270
+ WorkbenchSchemaFormProps,
271
+ WorkbenchSchemaFormSelectField,
272
+ WorkbenchSchemaFormSubmitContext,
273
+ WorkbenchSchemaFormTextField,
274
+ WorkbenchSchemaFormValues,
275
+ WorkbenchSettingsCategory,
276
+ WorkbenchSettingsModalProps,
277
+ WorkbenchSettingsScope,
278
+ WorkbenchStructuredDataFieldType,
279
+ WorkbenchStructuredDataFieldValue,
280
+ WorkbenchStructuredDataFormCancelContext,
281
+ WorkbenchStructuredDataFormCheckboxField,
282
+ WorkbenchStructuredDataFormErrors,
283
+ WorkbenchStructuredDataFormField,
284
+ WorkbenchStructuredDataFormFieldBase,
285
+ WorkbenchStructuredDataFormFieldChangeContext,
286
+ WorkbenchStructuredDataFormNumberField,
287
+ WorkbenchStructuredDataFormOption,
288
+ WorkbenchStructuredDataFormProps,
289
+ WorkbenchStructuredDataFormSection,
290
+ WorkbenchStructuredDataFormSelectField,
291
+ WorkbenchStructuredDataFormSubmitContext,
292
+ WorkbenchStructuredDataFormTextArrayField,
293
+ WorkbenchStructuredDataFormTextField,
294
+ WorkbenchStructuredDataTextArrayInputProps,
295
+ WorkbenchStructuredDataPath,
296
+ WorkbenchStructuredDataRecord,
297
+ WorkbenchStructuredDataSchemaDocument,
298
+ WorkbenchStructuredDataSchemaFieldControl,
299
+ WorkbenchStructuredDataSchemaFieldDefinition,
300
+ WorkbenchStructuredDataSchemaFieldInputProps,
301
+ WorkbenchStructuredDataSchemaPanelClassNames,
302
+ WorkbenchStructuredDataSchemaPanelLabels,
303
+ WorkbenchStructuredDataSchemaPanelProps,
304
+ WorkbenchStructuredDataSchemaPanelEmbedProps,
305
+ WorkbenchStructuredDataSchemaPanelFrameHeaderContent,
306
+ WorkbenchStructuredDataSchemaPanelFrameProps,
307
+ WorkbenchStructuredDataTableViewProps,
308
+ WorkbenchStructuredDataSchemaSectionAliases,
309
+ WorkbenchStructuredDataSchemaSectionSummary,
310
+ WorkbenchStructuredDataSchemaTableColumnInput,
311
+ WorkbenchStructuredDataSchemaTableDefinition,
312
+ WorkbenchStructuredDataSchemaTableRowKeyInput,
313
+ WorkbenchStructuredDataTable,
314
+ WorkbenchStructuredDataTableCellContext,
315
+ WorkbenchStructuredDataTableColumn,
316
+ WorkbenchStructuredDataTableRow,
317
+ } from './settings';
318
+ export {
319
+ WorkbenchSchemaForm,
320
+ appendWorkbenchStructuredDataSchemaTableRow,
321
+ asWorkbenchStructuredDataRecord,
322
+ booleanWorkbenchStructuredDataSchemaFieldValue,
323
+ coerceWorkbenchStructuredDataFormFieldValue,
324
+ coerceWorkbenchStructuredDataSchemaFieldValue,
325
+ coerceWorkbenchSchemaFormFieldValue,
326
+ createWorkbenchStructuredDataSchemaDocumentEmptyRow,
327
+ createWorkbenchStructuredDataSchemaEmptyRow,
328
+ createWorkbenchStructuredDataSchemaDocumentSampleData,
329
+ createWorkbenchStructuredDataSchemaFallbackSection,
330
+ formatWorkbenchStructuredDataSchemaValue,
331
+ formatWorkbenchStructuredDataSchemaLabel,
332
+ getWorkbenchStructuredDataFormErrors,
333
+ getWorkbenchStructuredDataFormFieldDefaultValue,
334
+ getWorkbenchStructuredDataFormFieldError,
335
+ getWorkbenchStructuredDataFormFields,
336
+ getWorkbenchStructuredDataSchemaDocumentColumnDefinition,
337
+ getWorkbenchStructuredDataSchemaDocumentColumnLabel,
338
+ getWorkbenchStructuredDataSchemaDocumentFieldDefinition,
339
+ getWorkbenchStructuredDataSchemaDocumentFieldLabel,
340
+ getWorkbenchStructuredDataSchemaDocumentPanelData,
341
+ getWorkbenchStructuredDataSchemaDocumentSectionValue,
342
+ getWorkbenchStructuredDataSchemaDocumentSections,
343
+ getWorkbenchStructuredDataSchemaDocumentTableColumns,
344
+ getWorkbenchStructuredDataSchemaDocumentTableDefinition,
345
+ getWorkbenchStructuredDataSchemaFieldDataPath,
346
+ getWorkbenchStructuredDataSchemaFieldControl,
347
+ getWorkbenchStructuredDataSchemaFieldDefaultValue,
348
+ getWorkbenchStructuredDataSchemaFieldDescription,
349
+ getWorkbenchStructuredDataSchemaFieldDefinition,
350
+ getWorkbenchStructuredDataSchemaSectionAnchorId,
351
+ getWorkbenchStructuredDataSchemaSectionId,
352
+ getWorkbenchStructuredDataSchemaSectionPath,
353
+ getWorkbenchStructuredDataSchemaTableCellPath,
354
+ getWorkbenchStructuredDataSchemaTableColumns,
355
+ getWorkbenchStructuredDataSchemaTablePath,
356
+ getWorkbenchStructuredDataSchemaTableRowKey,
357
+ getWorkbenchStructuredDataSchemaTableRows,
358
+ getWorkbenchStructuredDataValue,
359
+ getWorkbenchSchemaFormErrors,
360
+ getWorkbenchSchemaFormFieldDefaultValue,
361
+ getWorkbenchSchemaFormFieldError,
362
+ isWorkbenchStructuredDataFormSubmittable,
363
+ isWorkbenchSchemaFormSubmittable,
364
+ normalizeWorkbenchStructuredDataFormData,
365
+ normalizeWorkbenchSchemaFormValues,
366
+ removeWorkbenchStructuredDataSchemaTableRow,
367
+ setWorkbenchStructuredDataPathOrRootValue,
368
+ setWorkbenchStructuredDataValue,
369
+ slugWorkbenchStructuredDataSchemaAnchor,
370
+ stringifyWorkbenchStructuredDataSchemaFieldValue,
371
+ } from './settings';
372
+ export { WorkbenchShell } from './WorkbenchShell';
373
+ export type { WorkbenchShellProps } from './WorkbenchShell';
374
+ export { WorkbenchStandaloneShell } from './WorkbenchStandaloneShell';
375
+ export { WorkbenchCanvasShell } from './WorkbenchCanvasShell';
376
+ export type {
377
+ WorkbenchStandaloneShellContext,
378
+ WorkbenchStandaloneShellProps,
379
+ } from './WorkbenchStandaloneShell';
380
+ export type { WorkbenchCanvasShellProps } from './WorkbenchCanvasShell';
381
+ export type {
382
+ WorkbenchActivityChangeEvent,
383
+ WorkbenchActivityDescriptor,
384
+ WorkbenchChatController,
385
+ WorkbenchHostCallbackBoundary,
386
+ WorkbenchPatchController,
387
+ WorkbenchSaveController,
388
+ WorkbenchShellContract,
389
+ WorkbenchStandaloneBootstrap,
390
+ WorkbenchStandaloneBootstrapEvent,
391
+ WorkbenchStandaloneEntryState,
392
+ WorkbenchStatusController,
393
+ WorkbenchTheme,
394
+ WorkbenchWorkspaceController,
395
+ } from './standalone';
396
+ export { StructuredArtifactEditor } from './StructuredArtifactEditor';
397
+ export type { StructuredArtifactEditorProps } from './StructuredArtifactEditor';
398
+ export type {
399
+ JsonWorkbenchDocument,
400
+ WorkbenchDocument,
401
+ WorkbenchDocumentAdapter,
402
+ WorkbenchDocumentMeta,
403
+ WorkbenchDocumentNode,
404
+ WorkbenchDocumentNodeBase,
405
+ WorkbenchDocumentContainerNode,
406
+ WorkbenchDocumentLeafNode,
407
+ WorkbenchDocumentPatch,
408
+ WorkbenchDocumentPatchOp,
409
+ WorkbenchDocumentRenderContext,
410
+ WorkbenchNodeConstraints,
411
+ WorkbenchNodeLayout,
412
+ WorkbenchNodeType,
413
+ WorkbenchPage,
414
+ WorkbenchVisualStyle,
415
+ } from './schema';
416
+ export type {
417
+ WorkbenchDocumentPatchError,
418
+ WorkbenchDocumentPatchResult,
419
+ WorkbenchDocumentPatchHistory,
420
+ WorkbenchDocumentPatchHistoryState,
421
+ WorkbenchDocumentAction,
422
+ WorkbenchDocumentActionResult,
423
+ WorkbenchDocumentActionType,
424
+ } from './schema';
425
+ export {
426
+ applyWorkbenchDocumentPatch,
427
+ createPatchFromWorkbenchDocumentAction,
428
+ assertWorkbenchDocument,
429
+ deserializeWorkbenchDocumentPatch,
430
+ isWorkbenchDocumentSupported,
431
+ initializeWorkbenchDocumentPatchHistory,
432
+ } from './schema';
433
+ export {
434
+ buildWorkspaceDocumentLookup,
435
+ documentNodesToWorkspaceFiles,
436
+ workspaceFilesToDocument,
437
+ } from './schema';
438
+ export type {
439
+ WorkspaceToWorkbenchDocumentOptions,
440
+ WorkbenchToWorkspaceConversionOptions,
441
+ } from './schema';
442
+ export type { WorkbenchDocumentRendererProps } from './schema';
443
+ export { WorkbenchDocumentRenderer } from './schema';
@@ -0,0 +1,53 @@
1
+ import { useEffect } from 'react';
2
+
3
+ /** Set on document.body when an editor that handles Ctrl+S has focus. */
4
+ export const WORKBENCH_ACTIVE_EDITOR_SAVE_SHORTCUT_ATTRIBUTE = 'data-active-editor-save-shortcut';
5
+
6
+ interface SaveShortcutEvent {
7
+ ctrlKey: boolean;
8
+ key: string;
9
+ metaKey: boolean;
10
+ }
11
+
12
+ export function isWorkbenchSaveShortcutEvent(event: SaveShortcutEvent): boolean {
13
+ return event.key.toLowerCase() === 's' && (event.ctrlKey || event.metaKey);
14
+ }
15
+
16
+ export function hasWorkbenchModalDialogOpen(): boolean {
17
+ return Boolean(document.querySelector('[role="dialog"][aria-modal="true"]'));
18
+ }
19
+
20
+ /** Disables the browser's native right-click context menu globally. */
21
+ export function useWorkbenchNativeContextMenuGuard(): void {
22
+ useEffect(() => {
23
+ const handleContextMenu = (event: MouseEvent) => {
24
+ event.preventDefault();
25
+ };
26
+
27
+ window.addEventListener('contextmenu', handleContextMenu);
28
+ return () => window.removeEventListener('contextmenu', handleContextMenu);
29
+ }, []);
30
+ }
31
+
32
+ /**
33
+ * Prevents the browser's native "Save as" dialog on Ctrl+S / Cmd+S everywhere
34
+ * except when an active editor (marked with WORKBENCH_ACTIVE_EDITOR_SAVE_SHORTCUT_ATTRIBUTE)
35
+ * has focus and no modal is open — in that case the editor handles the shortcut itself.
36
+ */
37
+ export function useWorkbenchNativeSaveGuard(): void {
38
+ useEffect(() => {
39
+ const handleKeyDown = (event: KeyboardEvent) => {
40
+ if (event.defaultPrevented || !isWorkbenchSaveShortcutEvent(event)) return;
41
+
42
+ const editorActive = document.body.hasAttribute(
43
+ WORKBENCH_ACTIVE_EDITOR_SAVE_SHORTCUT_ATTRIBUTE,
44
+ );
45
+ if (editorActive && !hasWorkbenchModalDialogOpen()) return;
46
+
47
+ event.preventDefault();
48
+ };
49
+
50
+ window.addEventListener('keydown', handleKeyDown);
51
+ return () => window.removeEventListener('keydown', handleKeyDown);
52
+ }, []);
53
+ }
@@ -0,0 +1,48 @@
1
+ export type {
2
+ WorkbenchDocument,
3
+ WorkbenchDocumentAdapter,
4
+ WorkbenchDocumentMeta,
5
+ WorkbenchDocumentNode,
6
+ WorkbenchDocumentNodeBase,
7
+ WorkbenchDocumentContainerNode,
8
+ WorkbenchDocumentLeafNode,
9
+ WorkbenchDocumentPatch,
10
+ WorkbenchDocumentPatchOp,
11
+ WorkbenchDocumentRenderContext,
12
+ WorkbenchNodeConstraints,
13
+ WorkbenchNodeLayout,
14
+ WorkbenchNodeType,
15
+ WorkbenchPage,
16
+ WorkbenchVisualStyle,
17
+ } from './workbenchDocument';
18
+ export { WorkbenchDocumentRenderer } from './workbenchDocumentRenderer';
19
+ export type { WorkbenchDocumentRendererProps } from './workbenchDocumentRenderer';
20
+ export type {
21
+ WorkbenchDocumentPatchError,
22
+ WorkbenchDocumentPatchResult,
23
+ WorkbenchDocumentPatchHistory,
24
+ WorkbenchDocumentPatchHistoryState,
25
+ } from './workbenchDocumentPatch';
26
+ export {
27
+ buildWorkspaceDocumentLookup,
28
+ documentNodesToWorkspaceFiles,
29
+ workspaceFilesToDocument,
30
+ } from './workbenchDocumentAdapter';
31
+ export type {
32
+ WorkspaceToWorkbenchDocumentOptions,
33
+ WorkbenchToWorkspaceConversionOptions,
34
+ } from './workbenchDocumentAdapter';
35
+ export type {
36
+ WorkbenchDocumentAction,
37
+ WorkbenchDocumentActionResult,
38
+ WorkbenchDocumentActionType,
39
+ } from './workbenchDocumentActions';
40
+ export {
41
+ applyWorkbenchDocumentPatch,
42
+ assertWorkbenchDocument,
43
+ deserializeWorkbenchDocumentPatch,
44
+ isWorkbenchDocumentSupported,
45
+ initializeWorkbenchDocumentPatchHistory,
46
+ } from './workbenchDocumentPatch';
47
+ export { createPatchFromWorkbenchDocumentAction } from './workbenchDocumentActions';
48
+ export type { WorkbenchDocument as JsonWorkbenchDocument } from './workbenchDocument';
@@ -0,0 +1,31 @@
1
+ export type {
2
+ WorkbenchDocument,
3
+ WorkbenchDocumentAction,
4
+ WorkbenchDocumentActionBase,
5
+ WorkbenchDocumentActionResult,
6
+ WorkbenchDocumentActionType,
7
+ WorkbenchDocumentAdapter,
8
+ WorkbenchDocumentContainerNode,
9
+ WorkbenchDocumentCreateAction,
10
+ WorkbenchDocumentDeleteAction,
11
+ WorkbenchDocumentLeafNode,
12
+ WorkbenchDocumentMeta,
13
+ WorkbenchDocumentMoveAction,
14
+ WorkbenchDocumentNode,
15
+ WorkbenchDocumentNodeBase,
16
+ WorkbenchDocumentPatch,
17
+ WorkbenchDocumentPatchAction,
18
+ WorkbenchDocumentPatchOp,
19
+ WorkbenchDocumentRenderContext,
20
+ WorkbenchDocumentReplaceAction,
21
+ WorkbenchDocumentReplaceContentAction,
22
+ WorkbenchDocumentReplaceLayoutAction,
23
+ WorkbenchDocumentReplaceStyleAction,
24
+ WorkbenchNodeConstraints,
25
+ WorkbenchNodeLayout,
26
+ WorkbenchNodeType,
27
+ WorkbenchPage,
28
+ WorkbenchVisualStyle,
29
+ WorkbenchToWorkspaceConversionOptions,
30
+ WorkspaceToWorkbenchDocumentOptions,
31
+ } from '@workbench-kit/contracts';
@@ -0,0 +1,6 @@
1
+ export type {
2
+ WorkbenchDocumentAction,
3
+ WorkbenchDocumentActionResult,
4
+ WorkbenchDocumentActionType,
5
+ } from '@workbench-kit/contracts';
6
+ export { createPatchFromWorkbenchDocumentAction } from '@workbench-kit/contracts';