@workbench-kit/react 0.0.2-prototype.0.2.2 → 0.0.2-prototype.0.2.20
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/README.md +125 -0
- package/package.json +27 -20
- package/src/index.ts +60 -29
- package/src/jdw/JsonCodeEditorPane.tsx +7 -6
- package/src/jdw/builtins/renderBuiltinWidgetLeaf.tsx +1 -3
- package/src/jdw/createBuiltinJdwRegistry.ts +1 -4
- package/src/jdw/cssRenderBackend.tsx +1 -4
- package/src/json-config/JsonConfigWorkbench.tsx +1 -1
- package/src/layout/index.ts +11 -0
- package/src/layout/sidebar/SideBarTree.tsx +301 -0
- package/src/layout/sidebar/SidebarActionIconBar.tsx +3 -3
- package/src/layout/sidebar/WorkbenchSidebarActions.tsx +1 -1
- package/src/layout/sidebar/index.ts +13 -0
- package/src/modal/Modal.tsx +55 -25
- package/src/modal/ModalTitlebar.tsx +8 -8
- package/src/modal/modalPosition.ts +3 -6
- package/src/modal/useModalFocusTrap.ts +142 -0
- package/src/modal/useModalWindowFrame.ts +2 -2
- package/src/overlay/ContextMenu.tsx +112 -5
- package/src/overlay/context-menu.css +4 -2
- package/src/overlay/measureAnchoredOverlayPanel.ts +4 -6
- package/src/overlay/usePointerPassthroughRegion.ts +2 -0
- package/src/primitives/absolute-box/AbsoluteBox.tsx +4 -4
- package/src/primitives/button/Button.tsx +4 -4
- package/src/primitives/catalog-browse-card/CatalogBrowseCard.tsx +6 -6
- package/src/primitives/catalog-browse-pane/CatalogBrowsePane.tsx +15 -15
- package/src/primitives/catalog-filter-overlay/CatalogFilterOverlay.tsx +2 -2
- package/src/primitives/checkbox/Checkbox.tsx +1 -1
- package/src/primitives/chip/Chip.tsx +2 -2
- package/src/primitives/codicon/Codicon.tsx +1 -1
- package/src/primitives/file-icon/FileIcon.tsx +1 -1
- package/src/primitives/icon-button/IconButton.tsx +1 -1
- package/src/primitives/index.ts +5 -0
- package/src/primitives/library-detail-layout/LibraryDetailLayout.tsx +123 -9
- package/src/primitives/library-detail-layout/index.ts +5 -0
- package/src/primitives/library-detail-layout/library-detail-layout.css +57 -0
- package/src/primitives/library-detail-layout/resolve-hero-cover-media.ts +80 -0
- package/src/primitives/library-facet-filter-panel/LibraryFacetFilterPanel.tsx +12 -12
- package/src/primitives/library-facet-filter-strip/LibraryFacetFilterStrip.tsx +4 -4
- package/src/primitives/number-input/NumberInput.tsx +5 -5
- package/src/primitives/record-media-hero/RecordMediaHero.tsx +10 -6
- package/src/primitives/scroll-area/ScrollArea.tsx +5 -5
- package/src/primitives/scroll-area-infinite-load/useScrollAreaInfiniteLoad.ts +5 -5
- package/src/primitives/searchable-multi-select/SearchableMultiSelect.tsx +7 -7
- package/src/primitives/select/Select.tsx +1 -13
- package/src/primitives/text-area/TextArea.tsx +1 -1
- package/src/primitives/text-input/TextInput.tsx +1 -1
- package/src/primitives/workbench-media-slot/WorkbenchMediaPlaceholder.tsx +2 -2
- package/src/primitives/workbench-media-slot/WorkbenchMediaSlot.tsx +16 -10
- package/src/primitives/workbench-thumbnail/WorkbenchThumbnail.tsx +4 -4
- package/src/styles.css +1 -2
- package/src/test-utils/workbenchMonacoMock.tsx +20 -0
- package/src/utils/clamp.ts +4 -0
- package/src/utils/normalizeKeyToken.ts +13 -0
- package/src/utils/readNumber.ts +4 -0
- package/src/widget-tree/WidgetTreeCanvasPreview.tsx +1 -4
- package/src/widget-tree/WidgetTreeWorkspaceShell.tsx +2 -2
- package/src/workbench/chat/ChatCommandProposalCard.tsx +4 -4
- package/src/workbench/chat/ChatConversationBar.tsx +3 -3
- package/src/workbench/chat/ChatHistoryMenu.tsx +1 -1
- package/src/workbench/chat/ChatMessageCollapsible.tsx +4 -0
- package/src/workbench/chat/ChatMessageItem.tsx +68 -10
- package/src/workbench/chat/ChatMessageList.tsx +1 -1
- package/src/workbench/chat/ChatPanel.tsx +32 -23
- package/src/workbench/chat/ChatPhasedRunProgress.tsx +86 -13
- package/src/workbench/chat/ChatRenameDialog.tsx +1 -1
- package/src/workbench/chat/chat-conversation.css +2 -2
- package/src/workbench/chat/chat-ui.css +8 -0
- package/src/workbench/chat/chatConversation.ts +2 -2
- package/src/workbench/chat/chatMessageMeta.tsx +4 -4
- package/src/workbench/chat/index.ts +1 -0
- package/src/workbench/chat/types.ts +7 -7
- package/src/workbench/chat/useCancelRuntimeOnUnmount.ts +4 -4
- package/src/workbench/chat/useChatPrependPagination.ts +10 -10
- package/src/workbench/chat/useSlashCommandSuggest.ts +1 -1
- package/src/workbench/{WorkbenchModalPortal.tsx → chrome/WorkbenchModalPortal.tsx} +1 -1
- package/src/workbench/chrome/workbench-chrome.css +4 -0
- package/src/workbench/{CommandGroupShell.tsx → commands/CommandGroupShell.tsx} +2 -2
- package/src/workbench/{CommandList.tsx → commands/CommandList.tsx} +5 -5
- package/src/workbench/{CommandPalette.tsx → commands/CommandPalette.tsx} +16 -42
- package/src/workbench/{ConfirmationFlow.tsx → commands/ConfirmationFlow.tsx} +5 -5
- package/src/workbench/{ShortcutCommandBridge.tsx → commands/ShortcutCommandBridge.tsx} +1 -13
- package/src/workbench/commands/WorkbenchQuickOpen.tsx +462 -0
- package/src/workbench/{command-model.ts → commands/command-model.ts} +5 -1
- package/src/workbench/commands/command-ui.ts +3 -0
- package/src/workbench/{commands.ts → commands/commands.ts} +1 -1
- package/src/workbench/commands/createWorkspaceFilesQuickOpenProvider.ts +86 -0
- package/src/workbench/commands/quick-open-model.ts +66 -0
- package/src/workbench/{WorkbenchEditorTabs.tsx → editor/WorkbenchEditorTabs.tsx} +1 -1
- package/src/workbench/{editor-tabs-dnd.ts → editor/editor-tabs-dnd.ts} +1 -1
- package/src/workbench/{editorTabContextMenu.ts → editor/editorTabContextMenu.ts} +2 -2
- package/src/workbench/{useEditorTabsStripDnd.ts → editor/useEditorTabsStripDnd.ts} +1 -1
- package/src/workbench/{useWorkbenchEditorTabContextMenu.tsx → editor/useWorkbenchEditorTabContextMenu.tsx} +1 -1
- package/src/workbench/editor-tabs/index.ts +9 -9
- package/src/workbench/index.ts +110 -74
- package/src/workbench/management/ExtensionManagementPanel.tsx +32 -36
- package/src/workbench/management/ExtensionManagementSidebar.tsx +19 -35
- package/src/workbench/management/IntegrationSettingsSurface.tsx +2 -5
- package/src/workbench/management/IntegrationsShell.tsx +1 -1
- package/src/workbench/management/KeybindingCaptureField.tsx +1 -9
- package/src/workbench/management/WorkbenchDialogFrame.tsx +2 -2
- package/src/workbench/management/WorkbenchNotice.tsx +2 -5
- package/src/workbench/management/createWorkbenchNotify.tsx +88 -0
- package/src/workbench/management/extension-install-approval.ts +72 -0
- package/src/workbench/management/extension-management-filters.ts +38 -0
- package/src/workbench/management/index.ts +14 -0
- package/src/workbench/management/management.css +28 -0
- package/src/workbench/management/types.ts +14 -1
- package/src/workbench/management/useWorkbenchNotify.ts +10 -0
- package/src/workbench/{MarkdownPreview.tsx → markdown/MarkdownPreview.tsx} +22 -7
- package/src/workbench/markdown/markdownRemarkPlugins.ts +12 -0
- package/src/workbench/markdown/sanitizeMarkdownHref.ts +29 -0
- package/src/workbench/settings/StructuredDataForm.tsx +1 -4
- package/src/workbench/settings/structuredDataFormModel.ts +2 -1
- package/src/workbench/{ActivityBar.tsx → shell/ActivityBar.tsx} +8 -8
- package/src/workbench/{ArtifactShell.tsx → shell/ArtifactShell.tsx} +25 -25
- package/src/workbench/{SplitView.tsx → shell/SplitView.tsx} +3 -3
- package/src/workbench/{StatusBar.tsx → shell/StatusBar.tsx} +8 -8
- package/src/workbench/{StructuredArtifactEditor.tsx → shell/StructuredArtifactEditor.tsx} +9 -9
- package/src/workbench/{Timeline.tsx → shell/Timeline.tsx} +77 -20
- package/src/workbench/{WorkbenchCanvasShell.defaults.ts → shell/WorkbenchCanvasShell.defaults.ts} +1 -1
- package/src/workbench/{WorkbenchCanvasShell.model.ts → shell/WorkbenchCanvasShell.model.ts} +5 -5
- package/src/workbench/{WorkbenchCanvasShell.tsx → shell/WorkbenchCanvasShell.tsx} +6 -6
- package/src/workbench/{WorkbenchDesktopTitleBar.tsx → shell/WorkbenchDesktopTitleBar.tsx} +15 -15
- package/src/workbench/{WorkbenchShell.tsx → shell/WorkbenchShell.tsx} +45 -6
- package/src/workbench/{WorkbenchShellTitleBarLayoutControls.tsx → shell/WorkbenchShellTitleBarLayoutControls.tsx} +16 -19
- package/src/workbench/{WorkbenchStandaloneShell.tsx → shell/WorkbenchStandaloneShell.tsx} +4 -4
- package/src/workbench/{WorkbenchViewEditor.tsx → shell/WorkbenchViewEditor.tsx} +7 -7
- package/src/workbench/{WorkbenchViewSidebar.tsx → shell/WorkbenchViewSidebar.tsx} +7 -7
- package/src/workbench/{WorkbenchWindowChromeControls.tsx → shell/WorkbenchWindowChromeControls.tsx} +18 -15
- package/src/workbench/shell/activity-bar.css +47 -0
- package/src/workbench/{shell.ts → shell/shell.ts} +18 -12
- package/src/workbench/{shellViewModel.ts → shell/shellViewModel.ts} +3 -3
- package/src/workbench/{standalone.ts → shell/standalone.ts} +14 -2
- package/src/workbench/{useDeferredWorkbenchMount.ts → shell/useDeferredWorkbenchMount.ts} +3 -3
- package/src/workbench/{useWorkbenchAppearanceDocumentSync.tsx → shell/useWorkbenchAppearanceDocumentSync.tsx} +1 -1
- package/src/workbench/{useWorkbenchSidebarActionBarDnd.ts → shell/useWorkbenchSidebarActionBarDnd.ts} +1 -1
- package/src/workbench/{useWorkbenchSidebarViewPlacementDropZone.ts → shell/useWorkbenchSidebarViewPlacementDropZone.ts} +2 -2
- package/src/workbench/{workbenchViewRouteState.ts → shell/workbenchViewRouteState.ts} +4 -4
- package/src/workbench/{WorkbenchThemeProvider.tsx → theme/WorkbenchThemeProvider.tsx} +4 -4
- package/src/workbench/{theme.ts → theme/theme.ts} +1 -1
- package/src/workbench/{themePresets.ts → theme/themePresets.ts} +3 -2
- package/src/workbench/views/view-hosts.css +3 -3
- package/src/workbench/workspace/WorkspaceEditorPanel.tsx +1 -1
- package/src/workbench/workspace/WorkspaceExplorer.tsx +104 -3
- package/src/workbench/workspace/workspaceExplorerKeyboard.ts +109 -0
- package/src/workbench/workspace/workspaceJsonDiagnostics.ts +6 -5
- package/src/workbench/jdw/jdw-editors.css +0 -4
- package/src/workbench/jdw/jdw.css +0 -2
- package/src/workbench/markdownRemarkPlugins.ts +0 -4
- package/src/workbench/workbench-chrome.css +0 -4
- /package/src/workbench/{WorkbenchPlatformContext.tsx → chrome/WorkbenchPlatformContext.tsx} +0 -0
- /package/src/workbench/{workbenchModalViewState.ts → chrome/workbenchModalViewState.ts} +0 -0
- /package/src/workbench/{workbenchOverlaysContext.tsx → chrome/workbenchOverlaysContext.tsx} +0 -0
- /package/src/workbench/{workbenchPlatformChrome.ts → chrome/workbenchPlatformChrome.ts} +0 -0
- /package/src/workbench/{command-execution-policy.ts → commands/command-execution-policy.ts} +0 -0
- /package/src/workbench/{keyboard.ts → commands/keyboard.ts} +0 -0
- /package/src/workbench/{workbenchContextMenu.ts → commands/workbenchContextMenu.ts} +0 -0
- /package/src/workbench/{activityBarOrder.ts → shell/activityBarOrder.ts} +0 -0
- /package/src/workbench/{appearanceLabels.ts → shell/appearanceLabels.ts} +0 -0
- /package/src/workbench/{hardReset.ts → shell/hardReset.ts} +0 -0
- /package/src/workbench/{shellPresets.ts → shell/shellPresets.ts} +0 -0
- /package/src/workbench/{shellState.ts → shell/shellState.ts} +0 -0
- /package/src/workbench/{sidebarViewPlacementDnd.ts → shell/sidebarViewPlacementDnd.ts} +0 -0
- /package/src/workbench/{status.ts → shell/status.ts} +0 -0
- /package/src/workbench/{useWorkbenchSidebarLayout.tsx → shell/useWorkbenchSidebarLayout.tsx} +0 -0
- /package/src/workbench/{useWorkbenchStandaloneShellStateSync.tsx → shell/useWorkbenchStandaloneShellStateSync.tsx} +0 -0
- /package/src/workbench/{workbenchSidebarLayoutContext.ts → shell/workbenchSidebarLayoutContext.ts} +0 -0
- /package/src/workbench/{workbenchStandaloneShellReactContext.tsx → shell/workbenchStandaloneShellReactContext.tsx} +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# `@workbench-kit/react`
|
|
2
|
+
|
|
3
|
+
React primitives and workbench chrome for integrating hosts (browser, desktop
|
|
4
|
+
shells, and other React hosts).
|
|
5
|
+
|
|
6
|
+
Published on npm with the **`prototype`** dist tag.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```powershell
|
|
11
|
+
pnpm add @workbench-kit/react@prototype @workbench-kit/tokens@prototype
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Peer: React 19.
|
|
15
|
+
|
|
16
|
+
## Styles
|
|
17
|
+
|
|
18
|
+
Import once at app entry:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import '@workbench-kit/tokens/styles.css';
|
|
22
|
+
import '@workbench-kit/react/styles.css';
|
|
23
|
+
import '@workbench-kit/react/primitives.css';
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Quick start
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
import { WorkbenchShell } from '@workbench-kit/react/workbench/shell';
|
|
30
|
+
|
|
31
|
+
export function AppShell() {
|
|
32
|
+
return (
|
|
33
|
+
<div className="ui-workbench-host-root" style={{ height: '100vh' }}>
|
|
34
|
+
<WorkbenchShell
|
|
35
|
+
activityBar={{
|
|
36
|
+
items: [
|
|
37
|
+
{ id: 'explorer', icon: <i className="codicon codicon-files" />, label: 'Explorer' },
|
|
38
|
+
],
|
|
39
|
+
}}
|
|
40
|
+
rootClassName="ide-root"
|
|
41
|
+
secondaryArea={<main>Editor region</main>}
|
|
42
|
+
statusSections={[]}
|
|
43
|
+
/>
|
|
44
|
+
</div>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Full walkthrough: [Getting Started](../../docs/guides/getting-started.md).
|
|
50
|
+
|
|
51
|
+
## Common subpaths
|
|
52
|
+
|
|
53
|
+
| Subpath | Purpose |
|
|
54
|
+
| ------------------------------------------ | --------------------------------------- |
|
|
55
|
+
| `@workbench-kit/react/primitives` | Buttons, editor chrome, library layouts |
|
|
56
|
+
| `@workbench-kit/react/workbench/shell` | Workbench shell / activity bar |
|
|
57
|
+
| `@workbench-kit/react/workbench/workspace` | Explorer, workspace editor panel |
|
|
58
|
+
| `@workbench-kit/react/workbench/chat` | Chat panel and message surfaces |
|
|
59
|
+
| `@workbench-kit/react/overlay` | Context menus, anchored overlays |
|
|
60
|
+
| `@workbench-kit/react/modal` | Low-level modal frame |
|
|
61
|
+
| `@workbench-kit/react/jdw` | JDW preview bridges |
|
|
62
|
+
| `@workbench-kit/react/styles.css` | Shell chrome CSS |
|
|
63
|
+
|
|
64
|
+
Import **only** through `exports`. Do not deep-import `src/` paths.
|
|
65
|
+
|
|
66
|
+
## Quick Open providers
|
|
67
|
+
|
|
68
|
+
`WorkbenchQuickOpen` is a file/provider overlay distinct from the command palette.
|
|
69
|
+
Hosts (or `@workbench-kit/shell-react` `WorkbenchCommandHost`) pass pluggable
|
|
70
|
+
providers; the default workspace-files provider wraps
|
|
71
|
+
`searchWorkspaceFiles` from `@workbench-kit/workspace`.
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
import {
|
|
75
|
+
WorkbenchQuickOpen,
|
|
76
|
+
createWorkspaceFilesQuickOpenProvider,
|
|
77
|
+
type QuickOpenProvider,
|
|
78
|
+
} from '@workbench-kit/react/workbench';
|
|
79
|
+
|
|
80
|
+
const providers: QuickOpenProvider[] = [
|
|
81
|
+
createWorkspaceFilesQuickOpenProvider({
|
|
82
|
+
files: workspaceFiles,
|
|
83
|
+
recentPaths: ['src/App.tsx'],
|
|
84
|
+
}),
|
|
85
|
+
];
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Contract:
|
|
89
|
+
|
|
90
|
+
- `provider.search(query, { signal })` returns items (sync or `Promise`); the context is
|
|
91
|
+
optional so simple and existing single-provider implementations can keep a one-argument function
|
|
92
|
+
- Without `providerId`, providers search concurrently and contribute results as they settle;
|
|
93
|
+
final grouping is deterministic by declared provider order, then provider item order
|
|
94
|
+
- A rejected or slow provider does not block results from other providers; query/provider changes
|
|
95
|
+
abort the prior signal and late results are ignored
|
|
96
|
+
- `onProviderError` can observe an isolated provider failure without failing the whole search
|
|
97
|
+
- Every result shows its provider label, and selection reports the matching `providerId`
|
|
98
|
+
- Provider IDs are unique; item IDs only need to be stable within their provider
|
|
99
|
+
- Set `providerId` to restrict the overlay to one provider
|
|
100
|
+
- Empty query → all files, with optional `recentPaths` elevated first
|
|
101
|
+
- Enter selects the active item; Escape closes (modal focus trap)
|
|
102
|
+
- Shell default: Ctrl/Cmd+P opens Quick Open; Ctrl/Cmd+Shift+P opens the command palette
|
|
103
|
+
|
|
104
|
+
## Learn more
|
|
105
|
+
|
|
106
|
+
| Doc | Purpose |
|
|
107
|
+
| ---------------------------------------------------------------------- | ----------------------------- |
|
|
108
|
+
| [Getting Started](../../docs/guides/getting-started.md) | Install + minimal shell |
|
|
109
|
+
| [Component Map](../../docs/guides/component-map.md) | Surface → Storybook / sample |
|
|
110
|
+
| [Sample Screens](../../docs/guides/sample-screens.md) | Example screen recipes |
|
|
111
|
+
| [Consumer Capabilities](../../docs/workbench/consumer-capabilities.md) | Props / when-to-use contracts |
|
|
112
|
+
| [API Reference](../../docs/guides/api-reference.md) | Package export index |
|
|
113
|
+
|
|
114
|
+
## Local verification (this monorepo)
|
|
115
|
+
|
|
116
|
+
```powershell
|
|
117
|
+
pnpm install
|
|
118
|
+
pnpm build:workbench-extensions
|
|
119
|
+
pnpm dev
|
|
120
|
+
pnpm dev:storybook
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Storybook stays a curated set of interaction stories — not a full package gallery.
|
|
124
|
+
Demo and story modules under this package are for development; published consumers
|
|
125
|
+
rely on the `exports` map and CSS entry points above.
|
package/package.json
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workbench-kit/react",
|
|
3
|
-
"version": "0.0.2-prototype.0.2.
|
|
3
|
+
"version": "0.0.2-prototype.0.2.20",
|
|
4
4
|
"private": false,
|
|
5
|
+
"sideEffects": [
|
|
6
|
+
"**/*.css"
|
|
7
|
+
],
|
|
5
8
|
"type": "module",
|
|
6
9
|
"exports": {
|
|
7
10
|
".": "./src/index.ts",
|
|
@@ -20,17 +23,20 @@
|
|
|
20
23
|
"./workbench/management": "./src/workbench/management/index.ts",
|
|
21
24
|
"./workbench/settings": "./src/workbench/settings/index.ts",
|
|
22
25
|
"./workbench": "./src/workbench/index.ts",
|
|
23
|
-
"./workbench/activityBarOrder": "./src/workbench/activityBarOrder.ts",
|
|
24
|
-
"./workbench/
|
|
25
|
-
"./workbench/
|
|
26
|
-
"./workbench/
|
|
27
|
-
"./workbench/
|
|
28
|
-
"./workbench/
|
|
26
|
+
"./workbench/activityBarOrder": "./src/workbench/shell/activityBarOrder.ts",
|
|
27
|
+
"./workbench/command-ui": "./src/workbench/commands/command-ui.ts",
|
|
28
|
+
"./workbench/markdown-preview": "./src/workbench/markdown/MarkdownPreview.tsx",
|
|
29
|
+
"./workbench/shell": "./src/workbench/shell/shell.ts",
|
|
30
|
+
"./workbench/standalone": "./src/workbench/shell/standalone.ts",
|
|
31
|
+
"./workbench/theme": "./src/workbench/theme/theme.ts",
|
|
32
|
+
"./workbench/theme-provider": "./src/workbench/theme/WorkbenchThemeProvider.tsx",
|
|
33
|
+
"./workbench/themePresets": "./src/workbench/theme/themePresets.ts",
|
|
34
|
+
"./workbench/split-view": "./src/workbench/shell/SplitView.tsx",
|
|
29
35
|
"./workbench/workspace": "./src/workbench/workspace/index.ts",
|
|
30
36
|
"./workbench/workspace/editor": "./src/workbench/workspace/WorkspaceEditor.tsx",
|
|
31
37
|
"./workbench/workspace/explorer": "./src/workbench/workspace/WorkspaceExplorer.tsx",
|
|
32
38
|
"./workbench/workspace/file-icon": "./src/icons/file-icon.ts",
|
|
33
|
-
"./workbench/commands": "./src/workbench/commands.ts",
|
|
39
|
+
"./workbench/commands": "./src/workbench/commands/commands.ts",
|
|
34
40
|
"./jdw": "./src/jdw/index.ts",
|
|
35
41
|
"./jdw/document": "./src/jdw/document.ts",
|
|
36
42
|
"./jdw/parse": "./src/jdw/parse.ts",
|
|
@@ -54,18 +60,18 @@
|
|
|
54
60
|
"!src/**/*.stories.tsx"
|
|
55
61
|
],
|
|
56
62
|
"dependencies": {
|
|
57
|
-
"@dnd-kit/core": "^6.3.1",
|
|
58
63
|
"@vscode/codicons": "^0.0.45",
|
|
59
64
|
"remark-gfm": "^4.0.1",
|
|
60
|
-
"
|
|
61
|
-
"@workbench-kit/contracts": "0.0.2-prototype.0.2.
|
|
62
|
-
"@workbench-kit/
|
|
63
|
-
"@workbench-kit/
|
|
64
|
-
"@workbench-kit/
|
|
65
|
-
"@workbench-kit/
|
|
66
|
-
"@workbench-kit/
|
|
67
|
-
"@workbench-kit/
|
|
68
|
-
"@workbench-kit/workspace": "0.0.2-prototype.0.2.
|
|
65
|
+
"rehype-sanitize": "^6.0.0",
|
|
66
|
+
"@workbench-kit/contracts": "0.0.2-prototype.0.2.20",
|
|
67
|
+
"@workbench-kit/platform": "0.0.2-prototype.0.2.20",
|
|
68
|
+
"@workbench-kit/jdw": "0.0.2-prototype.0.2.20",
|
|
69
|
+
"@workbench-kit/adapters": "0.0.2-prototype.0.2.20",
|
|
70
|
+
"@workbench-kit/monaco": "0.0.2-prototype.0.2.20",
|
|
71
|
+
"@workbench-kit/runtime": "0.0.2-prototype.0.2.20",
|
|
72
|
+
"@workbench-kit/services": "0.0.2-prototype.0.2.20",
|
|
73
|
+
"@workbench-kit/workspace": "0.0.2-prototype.0.2.20",
|
|
74
|
+
"@workbench-kit/tokens": "0.0.2-prototype.0.2.20"
|
|
69
75
|
},
|
|
70
76
|
"peerDependencies": {
|
|
71
77
|
"react": "^19.0.0",
|
|
@@ -88,7 +94,8 @@
|
|
|
88
94
|
"directory": "packages/react"
|
|
89
95
|
},
|
|
90
96
|
"scripts": {
|
|
91
|
-
"test": "pnpm exec vitest run --config ../../vitest.config.ts src
|
|
92
|
-
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
97
|
+
"test": "pnpm exec vitest run --config ../../vitest.config.ts src",
|
|
98
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
99
|
+
"typecheck:exact-optional": "tsc -p typecheck-exact-optional/tsconfig.emit.json && tsc -p typecheck-exact-optional/tsconfig.json --noEmit"
|
|
93
100
|
}
|
|
94
101
|
}
|
package/src/index.ts
CHANGED
|
@@ -20,7 +20,7 @@ export type {
|
|
|
20
20
|
WorkbenchIconRenderProps,
|
|
21
21
|
WorkbenchIconResolver,
|
|
22
22
|
} from './icons';
|
|
23
|
-
export { commandMenuItemsToContextMenuItems } from './workbench/commands';
|
|
23
|
+
export { commandMenuItemsToContextMenuItems } from './workbench/commands/commands';
|
|
24
24
|
export {
|
|
25
25
|
WorkbenchArtifactModeControls,
|
|
26
26
|
WorkbenchArtifactPreview,
|
|
@@ -31,7 +31,7 @@ export {
|
|
|
31
31
|
getWorkbenchPreviewRenderer,
|
|
32
32
|
getWorkbenchPreviewRendererMatch,
|
|
33
33
|
selectWorkbenchPreviewRenderer,
|
|
34
|
-
} from './workbench/ArtifactShell';
|
|
34
|
+
} from './workbench/shell/ArtifactShell';
|
|
35
35
|
export type {
|
|
36
36
|
WorkbenchArtifactDescriptor,
|
|
37
37
|
WorkbenchArtifactMode,
|
|
@@ -44,7 +44,7 @@ export type {
|
|
|
44
44
|
WorkbenchPreviewRendererContext,
|
|
45
45
|
WorkbenchPreviewRendererMatch,
|
|
46
46
|
WorkbenchPreviewRendererMatchReason,
|
|
47
|
-
} from './workbench/ArtifactShell';
|
|
47
|
+
} from './workbench/shell/ArtifactShell';
|
|
48
48
|
export {
|
|
49
49
|
WorkbenchCommandGroupShell,
|
|
50
50
|
WorkbenchCommandList,
|
|
@@ -58,7 +58,16 @@ export {
|
|
|
58
58
|
getWorkbenchCommandStatusLabel,
|
|
59
59
|
groupWorkbenchCommands,
|
|
60
60
|
isWorkbenchCommandRunnable,
|
|
61
|
-
} from './workbench/CommandPalette';
|
|
61
|
+
} from './workbench/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 './workbench/commands/WorkbenchQuickOpen';
|
|
62
71
|
export {
|
|
63
72
|
WorkbenchShortcutCommandBridge,
|
|
64
73
|
getWorkbenchShortcutCommandBindings,
|
|
@@ -66,7 +75,7 @@ export {
|
|
|
66
75
|
matchesWorkbenchShortcut,
|
|
67
76
|
runWorkbenchShortcutCommand,
|
|
68
77
|
useWorkbenchShortcutCommands,
|
|
69
|
-
} from './workbench/ShortcutCommandBridge';
|
|
78
|
+
} from './workbench/commands/ShortcutCommandBridge';
|
|
70
79
|
export type {
|
|
71
80
|
WorkbenchCommandDescriptor,
|
|
72
81
|
WorkbenchCommandDescriptorOverrides,
|
|
@@ -86,7 +95,15 @@ export type {
|
|
|
86
95
|
WorkbenchCommandSideEffect,
|
|
87
96
|
WorkbenchCommandStatus,
|
|
88
97
|
WorkbenchCommandSuggestProps,
|
|
89
|
-
} from './workbench/CommandPalette';
|
|
98
|
+
} from './workbench/commands/CommandPalette';
|
|
99
|
+
export type {
|
|
100
|
+
CreateWorkspaceFilesQuickOpenProviderOptions,
|
|
101
|
+
QuickOpenItem,
|
|
102
|
+
QuickOpenProvider,
|
|
103
|
+
QuickOpenSearchContext,
|
|
104
|
+
QuickOpenSelectContext,
|
|
105
|
+
WorkbenchQuickOpenProps,
|
|
106
|
+
} from './workbench/commands/WorkbenchQuickOpen';
|
|
90
107
|
export type {
|
|
91
108
|
UseWorkbenchShortcutCommandsOptions,
|
|
92
109
|
WorkbenchShortcutCommandBinding,
|
|
@@ -98,7 +115,7 @@ export type {
|
|
|
98
115
|
WorkbenchShortcutEventLike,
|
|
99
116
|
WorkbenchShortcutMatchInput,
|
|
100
117
|
WorkbenchShortcutPlatform,
|
|
101
|
-
} from './workbench/ShortcutCommandBridge';
|
|
118
|
+
} from './workbench/commands/ShortcutCommandBridge';
|
|
102
119
|
export {
|
|
103
120
|
WorkbenchConfirmationFlow,
|
|
104
121
|
getWorkbenchConfirmationButtonVariant,
|
|
@@ -107,7 +124,7 @@ export {
|
|
|
107
124
|
getWorkbenchConfirmationStatus,
|
|
108
125
|
getWorkbenchConfirmationVariant,
|
|
109
126
|
isWorkbenchConfirmationActionDisabled,
|
|
110
|
-
} from './workbench/ConfirmationFlow';
|
|
127
|
+
} from './workbench/commands/ConfirmationFlow';
|
|
111
128
|
export type {
|
|
112
129
|
WorkbenchConfirmationAction,
|
|
113
130
|
WorkbenchConfirmationCancelContext,
|
|
@@ -118,7 +135,7 @@ export type {
|
|
|
118
135
|
WorkbenchConfirmationReason,
|
|
119
136
|
WorkbenchConfirmationSideEffect,
|
|
120
137
|
WorkbenchConfirmationVariant,
|
|
121
|
-
} from './workbench/ConfirmationFlow';
|
|
138
|
+
} from './workbench/commands/ConfirmationFlow';
|
|
122
139
|
export {
|
|
123
140
|
WorkbenchAuthGate,
|
|
124
141
|
WorkbenchLoginBrandMark,
|
|
@@ -161,7 +178,7 @@ export {
|
|
|
161
178
|
getWorkbenchTimelineEventLabel,
|
|
162
179
|
getWorkbenchTimelineEventStatus,
|
|
163
180
|
getWorkbenchTimelineMetadataEntries,
|
|
164
|
-
} from './workbench/Timeline';
|
|
181
|
+
} from './workbench/shell/Timeline';
|
|
165
182
|
export type {
|
|
166
183
|
WorkbenchTimelineEvent,
|
|
167
184
|
WorkbenchTimelineEventKind,
|
|
@@ -173,7 +190,7 @@ export type {
|
|
|
173
190
|
WorkbenchTimelineRenderMetadata,
|
|
174
191
|
WorkbenchTimelineRenderPayload,
|
|
175
192
|
WorkbenchTimelineVariant,
|
|
176
|
-
} from './workbench/Timeline';
|
|
193
|
+
} from './workbench/shell/Timeline';
|
|
177
194
|
export { ConfirmDialog } from './modal/ConfirmDialog';
|
|
178
195
|
export type { ConfirmDialogProps } from './modal/ConfirmDialog';
|
|
179
196
|
export { ContextMenu } from './overlay/ContextMenu';
|
|
@@ -216,12 +233,12 @@ export {
|
|
|
216
233
|
isWorkbenchStatusDisabled,
|
|
217
234
|
isWorkbenchStatusUnavailable,
|
|
218
235
|
workbenchStatusFromLifecycleStatus,
|
|
219
|
-
} from './workbench/status';
|
|
236
|
+
} from './workbench/shell/status';
|
|
220
237
|
export type {
|
|
221
238
|
WorkbenchStatus,
|
|
222
239
|
WorkbenchStatusDescriptor,
|
|
223
240
|
WorkbenchStatusVariant,
|
|
224
|
-
} from './workbench/status';
|
|
241
|
+
} from './workbench/shell/status';
|
|
225
242
|
export {
|
|
226
243
|
FilterBar,
|
|
227
244
|
FilterBarActiveChips,
|
|
@@ -276,6 +293,7 @@ export {
|
|
|
276
293
|
SideBarHeaderControl,
|
|
277
294
|
SideBarList,
|
|
278
295
|
SideBarListItem,
|
|
296
|
+
SideBarTree,
|
|
279
297
|
SideBarViewFrame,
|
|
280
298
|
SideBarRow,
|
|
281
299
|
SidebarActionIconBar,
|
|
@@ -286,12 +304,20 @@ export {
|
|
|
286
304
|
WorkbenchSidebarSection,
|
|
287
305
|
WorkbenchSidebarSectionHeader,
|
|
288
306
|
WorkbenchSidebarSectionStack,
|
|
307
|
+
flattenVisibleSideBarTreeItems,
|
|
308
|
+
isSideBarTreeBranch,
|
|
309
|
+
selectSideBarTreeIds,
|
|
310
|
+
toggleSideBarTreeId,
|
|
289
311
|
useSidebarSectionBaseDepth,
|
|
290
312
|
} from './layout/sidebar';
|
|
291
313
|
export type {
|
|
292
314
|
SideBarHeaderControlProps,
|
|
293
315
|
SideBarListItemProps,
|
|
294
316
|
SideBarListProps,
|
|
317
|
+
SideBarTreeItem,
|
|
318
|
+
SideBarTreeProps,
|
|
319
|
+
SideBarTreeSelectionMode,
|
|
320
|
+
SideBarTreeVisibleNode,
|
|
295
321
|
SideBarViewFrameProps,
|
|
296
322
|
SideBarRowProps,
|
|
297
323
|
SidebarActionIconBarProps,
|
|
@@ -567,7 +593,7 @@ export {
|
|
|
567
593
|
StatusBar as WorkbenchStatusBar,
|
|
568
594
|
StatusBarItem as WorkbenchStatusBarItem,
|
|
569
595
|
StatusBarSection as WorkbenchStatusBarSection,
|
|
570
|
-
} from './workbench/StatusBar';
|
|
596
|
+
} from './workbench/shell/StatusBar';
|
|
571
597
|
export type {
|
|
572
598
|
StatusBarItemModel as WorkbenchStatusBarItemModel,
|
|
573
599
|
StatusBarItemProps as WorkbenchStatusBarItemProps,
|
|
@@ -575,7 +601,7 @@ export type {
|
|
|
575
601
|
StatusBarSectionAlign as WorkbenchStatusBarSectionAlign,
|
|
576
602
|
StatusBarSectionModel as WorkbenchStatusBarSectionModel,
|
|
577
603
|
StatusBarSectionProps as WorkbenchStatusBarSectionProps,
|
|
578
|
-
} from './workbench/StatusBar';
|
|
604
|
+
} from './workbench/shell/StatusBar';
|
|
579
605
|
export { AbsoluteBox } from './primitives';
|
|
580
606
|
export type { AbsoluteBoxProps, WorkbenchRect } from './primitives';
|
|
581
607
|
export { Badge } from './primitives';
|
|
@@ -643,8 +669,13 @@ export type {
|
|
|
643
669
|
} from './primitives';
|
|
644
670
|
export { CatalogFilterOverlay } from './primitives';
|
|
645
671
|
export type { CatalogFilterOverlayProps } from './primitives';
|
|
646
|
-
export { LibraryDetailLayout } from './primitives';
|
|
647
|
-
export type {
|
|
672
|
+
export { LibraryDetailLayout, resolveLibraryDetailHeroCoverMedia } from './primitives';
|
|
673
|
+
export type {
|
|
674
|
+
LibraryDetailLayoutMode,
|
|
675
|
+
LibraryDetailLayoutProps,
|
|
676
|
+
ResolveLibraryDetailHeroCoverMediaInput,
|
|
677
|
+
ResolvedLibraryDetailHeroCoverMedia,
|
|
678
|
+
} from './primitives';
|
|
648
679
|
export { WorkbenchMediaPlaceholder } from './primitives';
|
|
649
680
|
export type { WorkbenchMediaPlaceholderProps } from './primitives';
|
|
650
681
|
export { WorkbenchMediaSlot } from './primitives';
|
|
@@ -685,8 +716,8 @@ export type {
|
|
|
685
716
|
WorkspaceDraftsContextValue,
|
|
686
717
|
WorkspaceDraftsProviderProps,
|
|
687
718
|
} from './workbench/workspace/WorkspaceDraftsContext';
|
|
688
|
-
export { StructuredArtifactEditor } from './workbench/StructuredArtifactEditor';
|
|
689
|
-
export type { StructuredArtifactEditorProps } from './workbench/StructuredArtifactEditor';
|
|
719
|
+
export { StructuredArtifactEditor } from './workbench/shell/StructuredArtifactEditor';
|
|
720
|
+
export type { StructuredArtifactEditorProps } from './workbench/shell/StructuredArtifactEditor';
|
|
690
721
|
export { createStringDragMime, createTypedDragMime } from './utils/dragMime';
|
|
691
722
|
export type { TypedDragMime, TypedDragMimeOptions } from './utils/dragMime';
|
|
692
723
|
export {
|
|
@@ -698,29 +729,29 @@ export {
|
|
|
698
729
|
readEditorTabDragPayload,
|
|
699
730
|
resolveEditorTabDropTarget,
|
|
700
731
|
resolveEditorTabStripDropTarget,
|
|
701
|
-
} from './workbench/editor-tabs-dnd';
|
|
702
|
-
export type { EditorTabDragPayload, EditorTabDropTarget } from './workbench/editor-tabs-dnd';
|
|
703
|
-
export { useEditorTabsStripDnd } from './workbench/useEditorTabsStripDnd';
|
|
732
|
+
} from './workbench/editor/editor-tabs-dnd';
|
|
733
|
+
export type { EditorTabDragPayload, EditorTabDropTarget } from './workbench/editor/editor-tabs-dnd';
|
|
734
|
+
export { useEditorTabsStripDnd } from './workbench/editor/useEditorTabsStripDnd';
|
|
704
735
|
export type {
|
|
705
736
|
UseEditorTabsStripDndOptions,
|
|
706
737
|
UseEditorTabsStripDndResult,
|
|
707
|
-
} from './workbench/useEditorTabsStripDnd';
|
|
708
|
-
export { WorkbenchEditorTabs } from './workbench/WorkbenchEditorTabs';
|
|
709
|
-
export type { WorkbenchEditorTabsProps } from './workbench/WorkbenchEditorTabs';
|
|
738
|
+
} from './workbench/editor/useEditorTabsStripDnd';
|
|
739
|
+
export { WorkbenchEditorTabs } from './workbench/editor/WorkbenchEditorTabs';
|
|
740
|
+
export type { WorkbenchEditorTabsProps } from './workbench/editor/WorkbenchEditorTabs';
|
|
710
741
|
export {
|
|
711
742
|
createWorkbenchStandaloneEditorTabCommandContext,
|
|
712
743
|
createWorkbenchStandaloneEditorTabContextMenuItems,
|
|
713
744
|
isWorkbenchEditorTabClosable,
|
|
714
|
-
} from './workbench/editorTabContextMenu';
|
|
745
|
+
} from './workbench/editor/editorTabContextMenu';
|
|
715
746
|
export type {
|
|
716
747
|
CreateWorkbenchStandaloneEditorTabCommandContextInput,
|
|
717
748
|
WorkbenchStandaloneEditorTabLike,
|
|
718
|
-
} from './workbench/editorTabContextMenu';
|
|
719
|
-
export { useWorkbenchEditorTabContextMenu } from './workbench/useWorkbenchEditorTabContextMenu';
|
|
749
|
+
} from './workbench/editor/editorTabContextMenu';
|
|
750
|
+
export { useWorkbenchEditorTabContextMenu } from './workbench/editor/useWorkbenchEditorTabContextMenu';
|
|
720
751
|
export type {
|
|
721
752
|
UseWorkbenchEditorTabContextMenuOptions,
|
|
722
753
|
UseWorkbenchEditorTabContextMenuResult,
|
|
723
|
-
} from './workbench/useWorkbenchEditorTabContextMenu';
|
|
754
|
+
} from './workbench/editor/useWorkbenchEditorTabContextMenu';
|
|
724
755
|
export {
|
|
725
756
|
clampPreviewViewportZoom,
|
|
726
757
|
computePreviewViewportFitScale,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
StatusBar as WorkbenchStatusBar,
|
|
21
21
|
StatusBarItem as WorkbenchStatusBarItem,
|
|
22
22
|
StatusBarSection as WorkbenchStatusBarSection,
|
|
23
|
-
} from '../workbench/StatusBar';
|
|
23
|
+
} from '../workbench/shell/StatusBar';
|
|
24
24
|
import { WorkspaceEditor, type WorkspaceEditorTheme } from '../workbench/workspace/WorkspaceEditor';
|
|
25
25
|
import type { WorkspaceFile } from '../workbench/workspace/types';
|
|
26
26
|
|
|
@@ -245,11 +245,12 @@ export function JsonCodeEditorPane({
|
|
|
245
245
|
const configureJsonSchema = (monaco: WorkbenchMonaco, path: string) => {
|
|
246
246
|
if (!jsonSchema) return;
|
|
247
247
|
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
248
|
+
const jsonLanguage = monaco.languages.json as unknown as
|
|
249
|
+
| {
|
|
250
|
+
jsonDefaults?: { setDiagnosticsOptions: (options: unknown) => void };
|
|
251
|
+
}
|
|
252
|
+
| undefined;
|
|
253
|
+
const jsonDefaults = jsonLanguage?.jsonDefaults;
|
|
253
254
|
if (!jsonDefaults) return;
|
|
254
255
|
|
|
255
256
|
jsonDefaults.setDiagnosticsOptions({
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { createElement, type CSSProperties, type ReactNode } from 'react';
|
|
2
2
|
import type { GenericWidget } from '@workbench-kit/jdw';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
6
|
-
}
|
|
4
|
+
import { readNumber } from '../../utils/readNumber';
|
|
7
5
|
|
|
8
6
|
function readString(value: unknown): string | undefined {
|
|
9
7
|
return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
type GenericWidget,
|
|
11
11
|
} from '@workbench-kit/jdw';
|
|
12
12
|
|
|
13
|
+
import { readNumber } from '../utils/readNumber';
|
|
13
14
|
import { renderBuiltinWidgetLeaf } from './builtins/renderBuiltinWidgetLeaf.js';
|
|
14
15
|
|
|
15
16
|
const LAYOUT_INSPECTOR = [
|
|
@@ -73,10 +74,6 @@ function build(widget: WidgetTypeShape) {
|
|
|
73
74
|
return renderBuiltinWidgetLeaf(widget as GenericWidget);
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
function readNumber(value: unknown): number | undefined {
|
|
77
|
-
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
77
|
function readString(value: unknown): string | undefined {
|
|
81
78
|
return typeof value === 'string' && value.trim().length > 0 ? value : undefined;
|
|
82
79
|
}
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
type WidgetPath,
|
|
23
23
|
} from '@workbench-kit/jdw';
|
|
24
24
|
|
|
25
|
+
import { readNumber } from '../utils/readNumber';
|
|
25
26
|
import { renderBuiltinWidgetLeaf } from './builtins/renderBuiltinWidgetLeaf.js';
|
|
26
27
|
import { BUILTIN_JDW_REGISTRY } from './createBuiltinJdwRegistry.js';
|
|
27
28
|
export interface CssRenderBackendOptions {
|
|
@@ -45,10 +46,6 @@ const LAYOUT_CONTAINER_TYPES = new Set([
|
|
|
45
46
|
'sized_box',
|
|
46
47
|
]);
|
|
47
48
|
|
|
48
|
-
function readNumber(value: unknown): number | undefined {
|
|
49
|
-
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
49
|
function renderFromRegistry(
|
|
53
50
|
registry: WidgetRegistryContract<unknown>,
|
|
54
51
|
widget: GenericWidget,
|
|
@@ -9,7 +9,7 @@ import { IconButton } from '../primitives/icon-button';
|
|
|
9
9
|
import { Toolbar } from '../primitives/toolbar';
|
|
10
10
|
import { JsonCodeEditorPane, JsonConfigValidationBanner } from '../jdw/JsonCodeEditorPane.js';
|
|
11
11
|
import { JdwPreview } from '../jdw/JdwPreview.js';
|
|
12
|
-
import { SplitView } from '../workbench/SplitView';
|
|
12
|
+
import { SplitView } from '../workbench/shell/SplitView';
|
|
13
13
|
import { WorkbenchStructuredDataSchemaPanel } from '../workbench/settings/StructuredDataSchemaPanel';
|
|
14
14
|
import { type WorkbenchStructuredDataSchemaDocument } from '../workbench/settings/StructuredDataForm';
|
|
15
15
|
import { type WorkspaceEditorTheme } from '../workbench/workspace/WorkspaceEditor';
|
package/src/layout/index.ts
CHANGED
|
@@ -56,6 +56,7 @@ export {
|
|
|
56
56
|
SideBarListItem,
|
|
57
57
|
SideBarRow,
|
|
58
58
|
SideBarScrollSpacer,
|
|
59
|
+
SideBarTree,
|
|
59
60
|
SideBarViewFrame,
|
|
60
61
|
SideBarViewTabStrip,
|
|
61
62
|
SideBarViewTitleMenu,
|
|
@@ -68,7 +69,11 @@ export {
|
|
|
68
69
|
WorkbenchSidebarSection,
|
|
69
70
|
WorkbenchSidebarSectionHeader,
|
|
70
71
|
WorkbenchSidebarSectionStack,
|
|
72
|
+
flattenVisibleSideBarTreeItems,
|
|
73
|
+
isSideBarTreeBranch,
|
|
74
|
+
selectSideBarTreeIds,
|
|
71
75
|
sideBarTreeDepthStyle,
|
|
76
|
+
toggleSideBarTreeId,
|
|
72
77
|
useSidebarSectionBaseDepth,
|
|
73
78
|
} from './sidebar';
|
|
74
79
|
export type {
|
|
@@ -77,6 +82,10 @@ export type {
|
|
|
77
82
|
SideBarListProps,
|
|
78
83
|
SideBarRowProps,
|
|
79
84
|
SideBarScrollSpacerProps,
|
|
85
|
+
SideBarTreeItem,
|
|
86
|
+
SideBarTreeProps,
|
|
87
|
+
SideBarTreeSelectionMode,
|
|
88
|
+
SideBarTreeVisibleNode,
|
|
80
89
|
SideBarViewFrameProps,
|
|
81
90
|
SideBarViewTabDescriptor,
|
|
82
91
|
SideBarViewTabStripProps,
|
|
@@ -142,6 +151,8 @@ export type {
|
|
|
142
151
|
} from './propertyFieldFilter';
|
|
143
152
|
export { WorkbenchMediaPreviewViewport } from './WorkbenchMediaPreviewViewport';
|
|
144
153
|
export type { WorkbenchMediaPreviewViewportProps } from './WorkbenchMediaPreviewViewport';
|
|
154
|
+
export { WorkbenchPreviewCanvas } from './WorkbenchCanvas';
|
|
155
|
+
export type { WorkbenchPreviewCanvasProps } from './WorkbenchCanvas';
|
|
145
156
|
export {
|
|
146
157
|
clampPreviewViewportZoom,
|
|
147
158
|
computePreviewViewportFitScale,
|