@teambit/workspace 0.0.652 → 0.0.655
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/{__preview-1645372601675.js → __preview-1645630586060.js} +0 -0
- package/component-tree.widget.tsx +15 -3
- package/dist/component-tree.widget.js +16 -1
- package/dist/component-tree.widget.js.map +1 -1
- package/dist/eject-conf.cmd.d.ts +2 -4
- package/dist/eject-conf.cmd.js +18 -27
- package/dist/eject-conf.cmd.js.map +1 -1
- package/dist/workspace-component/component-status.d.ts +10 -2
- package/dist/workspace-component/component-status.js +8 -3
- package/dist/workspace-component/component-status.js.map +1 -1
- package/dist/workspace.d.ts +1 -0
- package/dist/workspace.js +14 -5
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.ui.runtime.d.ts +6 -3
- package/dist/workspace.ui.runtime.js +15 -6
- package/dist/workspace.ui.runtime.js.map +1 -1
- package/package-tar/teambit-workspace-0.0.655.tgz +0 -0
- package/package.json +33 -32
- package/workspace-component/component-status.ts +13 -3
- package/workspace.ui.runtime.tsx +21 -8
- package/eject-conf.cmd.tsx +0 -62
- package/package-tar/teambit-workspace-0.0.652.tgz +0 -0
|
@@ -9,6 +9,7 @@ import { UIRootUI as UIRoot, UiUI } from '@teambit/ui';
|
|
|
9
9
|
import { GraphUI } from '@teambit/graph';
|
|
10
10
|
import { RouteProps } from 'react-router-dom';
|
|
11
11
|
import { CommandBarUI, ComponentSearcher } from '@teambit/command-bar';
|
|
12
|
+
import type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
|
|
12
13
|
export declare type SidebarWidgetSlot = SlotRegistry<ComponentTreeNode>;
|
|
13
14
|
export declare class WorkspaceUI {
|
|
14
15
|
/**
|
|
@@ -52,9 +53,11 @@ export declare class WorkspaceUI {
|
|
|
52
53
|
/**
|
|
53
54
|
* register a route to the workspace.
|
|
54
55
|
*/
|
|
55
|
-
|
|
56
|
+
registerRoutes(routes: RouteProps[]): this;
|
|
57
|
+
registerDrawers(...drawers: DrawerType[]): this;
|
|
56
58
|
registerSidebarWidget(componentTreeNode: ComponentTreeNode): this;
|
|
57
59
|
registerMenuItem: (menuItems: MenuItem[]) => void;
|
|
60
|
+
registerMenuRoutes: (routes: RouteProps[]) => this;
|
|
58
61
|
setComponents: (components: ComponentModel[]) => void;
|
|
59
62
|
registerSidebarLink: (...links: SidebarItem[]) => void;
|
|
60
63
|
componentSearcher: ComponentSearcher;
|
|
@@ -62,9 +65,9 @@ export declare class WorkspaceUI {
|
|
|
62
65
|
private menuItems;
|
|
63
66
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
64
67
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
65
|
-
static slots: (((registerFn: () => string) => SlotRegistry<RouteProps<string, {
|
|
68
|
+
static slots: (((registerFn: () => string) => SlotRegistry<ComponentTreeNode>) | ((registerFn: () => string) => SlotRegistry<RouteProps<string, {
|
|
66
69
|
[x: string]: string | undefined;
|
|
67
|
-
}>>) | ((registerFn: () => string) => SlotRegistry<
|
|
70
|
+
}>>) | ((registerFn: () => string) => SlotRegistry<MenuItemSlot>) | ((registerFn: () => string) => SlotRegistry<SidebarItemSlot>))[];
|
|
68
71
|
static provider([ui, componentUi, sidebar, componentTree, commandBarUI, reactRouterUI, graphUI]: [
|
|
69
72
|
UiUI,
|
|
70
73
|
ComponentUI,
|
|
@@ -205,6 +205,10 @@ class WorkspaceUI {
|
|
|
205
205
|
(0, _defineProperty2().default)(this, "registerMenuItem", menuItems => {
|
|
206
206
|
this.menuItemSlot.register(menuItems);
|
|
207
207
|
});
|
|
208
|
+
(0, _defineProperty2().default)(this, "registerMenuRoutes", routes => {
|
|
209
|
+
this.menuSlot.register(routes);
|
|
210
|
+
return this;
|
|
211
|
+
});
|
|
208
212
|
(0, _defineProperty2().default)(this, "setComponents", components => {
|
|
209
213
|
this.componentSearcher.update(components);
|
|
210
214
|
});
|
|
@@ -237,8 +241,13 @@ class WorkspaceUI {
|
|
|
237
241
|
/**
|
|
238
242
|
* register a route to the workspace.
|
|
239
243
|
*/
|
|
240
|
-
|
|
241
|
-
this.routeSlot.register(
|
|
244
|
+
registerRoutes(routes) {
|
|
245
|
+
this.routeSlot.register(routes);
|
|
246
|
+
return this;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
registerDrawers(...drawers) {
|
|
250
|
+
this.sidebar.registerDrawer(...drawers);
|
|
242
251
|
return this;
|
|
243
252
|
}
|
|
244
253
|
|
|
@@ -249,6 +258,7 @@ class WorkspaceUI {
|
|
|
249
258
|
|
|
250
259
|
uiRoot() {
|
|
251
260
|
this.commandBarUI.addSearcher(this.componentSearcher);
|
|
261
|
+
this.registerDrawers(new (_workspaceComponentsDrawer().WorkspaceComponentsDrawer)(this.sidebarSlot));
|
|
252
262
|
const [setKeyBindHandler] = this.commandBarUI.addCommand({
|
|
253
263
|
id: 'sidebar.toggle',
|
|
254
264
|
// TODO - extract to a component!
|
|
@@ -276,7 +286,6 @@ class WorkspaceUI {
|
|
|
276
286
|
static async provider([ui, componentUi, sidebar, componentTree, commandBarUI, reactRouterUI, graphUI], config, [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot]) {
|
|
277
287
|
componentTree.registerTreeNode(new (_componentTree2().ComponentTreeWidget)());
|
|
278
288
|
sidebarSlot.register(new (_componentTree2().ComponentTreeWidget)());
|
|
279
|
-
sidebar.registerDrawer(new (_workspaceComponentsDrawer().WorkspaceComponentsDrawer)(sidebarSlot));
|
|
280
289
|
graphUI.registerComponentWidget(new (_componentTree2().ComponentTreeWidget)().widget);
|
|
281
290
|
const workspaceUI = new WorkspaceUI(routeSlot, componentUi, menuSlot, menuItemSlot, sidebar, sidebarSlot, sidebarItemSlot, commandBarUI, reactRouterUI);
|
|
282
291
|
ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));
|
|
@@ -286,7 +295,7 @@ class WorkspaceUI {
|
|
|
286
295
|
href: "/",
|
|
287
296
|
icon: "comps"
|
|
288
297
|
}, "Gallery"));
|
|
289
|
-
workspaceUI.
|
|
298
|
+
workspaceUI.registerMenuRoutes([{
|
|
290
299
|
exact: true,
|
|
291
300
|
path: '/',
|
|
292
301
|
children: /*#__PURE__*/_react().default.createElement(_uiFoundationUi().Menu, {
|
|
@@ -296,10 +305,10 @@ class WorkspaceUI {
|
|
|
296
305
|
path: workspaceUI.componentUi.routePath,
|
|
297
306
|
children: workspaceUI.componentUi.getMenu(_workspace().WorkspaceAspect.id)
|
|
298
307
|
}]);
|
|
299
|
-
workspaceUI.
|
|
308
|
+
workspaceUI.registerRoutes([{
|
|
300
309
|
path: workspaceUI.componentUi.routePath,
|
|
301
310
|
children: workspaceUI.componentUi.getComponentUI(_workspace().WorkspaceAspect.id)
|
|
302
|
-
});
|
|
311
|
+
}]);
|
|
303
312
|
return workspaceUI;
|
|
304
313
|
}
|
|
305
314
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["workspace.ui.runtime.tsx"],"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","commandBarUI","reactRouterUI","menuItems","register","components","componentSearcher","update","links","category","title","keyChar","handler","run","ComponentSearcher","navigateTo","registerRoute","route","registerSidebarWidget","componentTreeNode","uiRoot","addSearcher","setKeyBindHandler","addCommand","id","displayName","keybinding","routes","path","children","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerDrawer","WorkspaceComponentsDrawer","registerComponentWidget","widget","workspaceUI","registerRoot","bind","registerMenuItem","registerSidebarLink","exact","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","ReactRouterAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"mappings":"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","sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Menu } from '@teambit/ui-foundation.ui.menu';\nimport SidebarAspect, { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport { GraphAspect, GraphUI } from '@teambit/graph';\nimport React from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, ComponentSearcher, CommandHandler } from '@teambit/command-bar';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport { WorkspaceComponentsDrawer } from './ui/workspace-components-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\n\nexport type SidebarWidgetSlot = SlotRegistry<ComponentTreeNode>;\n\nexport class WorkspaceUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUI: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher(reactRouterUI.navigateTo);\n }\n\n private setKeyBindHandler: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a route to the workspace.\n */\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n registerSidebarWidget(componentTreeNode: ComponentTreeNode) {\n this.sidebarSlot.register(componentTreeNode);\n return this;\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n setComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n componentSearcher: ComponentSearcher;\n\n uiRoot(): UIRoot {\n this.commandBarUI.addSearcher(this.componentSearcher);\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n handler: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/',\n children: (\n <Workspace\n menuSlot={this.menuSlot}\n routeSlot={this.routeSlot}\n sidebar={<this.sidebar.render itemSlot={this.sidebarItemSlot} />}\n workspaceUI={this}\n onSidebarTogglerChange={this.setKeyBindHandler}\n />\n ),\n },\n ],\n };\n }\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [\n UIAspect,\n ComponentAspect,\n SidebarAspect,\n ComponentTreeAspect,\n CommandBarAspect,\n ReactRouterAspect,\n GraphAspect,\n ];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<SidebarItemSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, reactRouterUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n ReactRouterUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot\n ]\n ) {\n componentTree.registerTreeNode(new ComponentTreeWidget());\n sidebarSlot.register(new ComponentTreeWidget());\n sidebar.registerDrawer(new WorkspaceComponentsDrawer(sidebarSlot));\n graphUI.registerComponentWidget(new ComponentTreeWidget().widget);\n\n const workspaceUI = new WorkspaceUI(\n routeSlot,\n componentUi,\n menuSlot,\n menuItemSlot,\n sidebar,\n sidebarSlot,\n sidebarItemSlot,\n commandBarUI,\n reactRouterUI\n );\n ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));\n workspaceUI.registerMenuItem(workspaceUI.menuItems);\n\n workspaceUI.registerSidebarLink(() => (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>\n ));\n\n workspaceUI.menuSlot.register([\n {\n exact: true,\n path: '/',\n children: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n children: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.routeSlot.register({\n path: workspaceUI.componentUi.routePath,\n children: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n });\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"]}
|
|
1
|
+
{"version":3,"sources":["workspace.ui.runtime.tsx"],"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","commandBarUI","reactRouterUI","menuItems","register","routes","components","componentSearcher","update","links","category","title","keyChar","handler","run","ComponentSearcher","navigateTo","registerRoutes","registerDrawers","drawers","registerDrawer","registerSidebarWidget","componentTreeNode","uiRoot","addSearcher","WorkspaceComponentsDrawer","setKeyBindHandler","addCommand","id","displayName","keybinding","path","children","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerComponentWidget","widget","workspaceUI","registerRoot","bind","registerMenuItem","registerSidebarLink","registerMenuRoutes","exact","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","ReactRouterAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"mappings":"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","sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Menu } from '@teambit/ui-foundation.ui.menu';\nimport SidebarAspect, { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport { GraphAspect, GraphUI } from '@teambit/graph';\nimport React from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, ComponentSearcher, CommandHandler } from '@teambit/command-bar';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { WorkspaceComponentsDrawer } from './ui/workspace-components-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\n\nexport type SidebarWidgetSlot = SlotRegistry<ComponentTreeNode>;\n\nexport class WorkspaceUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUI: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher(reactRouterUI.navigateTo);\n }\n\n private setKeyBindHandler: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a route to the workspace.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerDrawers(...drawers: DrawerType[]) {\n this.sidebar.registerDrawer(...drawers);\n return this;\n }\n\n registerSidebarWidget(componentTreeNode: ComponentTreeNode) {\n this.sidebarSlot.register(componentTreeNode);\n return this;\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n setComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n componentSearcher: ComponentSearcher;\n\n uiRoot(): UIRoot {\n this.commandBarUI.addSearcher(this.componentSearcher);\n this.registerDrawers(new WorkspaceComponentsDrawer(this.sidebarSlot));\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n handler: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/',\n children: (\n <Workspace\n menuSlot={this.menuSlot}\n routeSlot={this.routeSlot}\n sidebar={<this.sidebar.render itemSlot={this.sidebarItemSlot} />}\n workspaceUI={this}\n onSidebarTogglerChange={this.setKeyBindHandler}\n />\n ),\n },\n ],\n };\n }\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [\n UIAspect,\n ComponentAspect,\n SidebarAspect,\n ComponentTreeAspect,\n CommandBarAspect,\n ReactRouterAspect,\n GraphAspect,\n ];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<SidebarItemSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, reactRouterUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n ReactRouterUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot\n ]\n ) {\n componentTree.registerTreeNode(new ComponentTreeWidget());\n sidebarSlot.register(new ComponentTreeWidget());\n graphUI.registerComponentWidget(new ComponentTreeWidget().widget);\n\n const workspaceUI = new WorkspaceUI(\n routeSlot,\n componentUi,\n menuSlot,\n menuItemSlot,\n sidebar,\n sidebarSlot,\n sidebarItemSlot,\n commandBarUI,\n reactRouterUI\n );\n ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));\n workspaceUI.registerMenuItem(workspaceUI.menuItems);\n\n workspaceUI.registerSidebarLink(() => (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>\n ));\n\n workspaceUI.registerMenuRoutes([\n {\n exact: true,\n path: '/',\n children: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n children: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.registerRoutes([\n {\n path: workspaceUI.componentUi.routePath,\n children: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n },\n ]);\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.655",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/workspace/workspace",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "workspace",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.655"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -41,40 +41,42 @@
|
|
|
41
41
|
"@teambit/component-id": "0.0.401",
|
|
42
42
|
"@teambit/bit-error": "0.0.394",
|
|
43
43
|
"@teambit/legacy-bit-id": "0.0.398",
|
|
44
|
-
"@teambit/logger": "0.0.
|
|
45
|
-
"@teambit/scope": "0.0.
|
|
46
|
-
"@teambit/cli": "0.0.
|
|
47
|
-
"@teambit/isolator": "0.0.
|
|
48
|
-
"@teambit/component-tree": "0.0.
|
|
49
|
-
"@teambit/component.ui.component-status-resolver": "0.0.
|
|
44
|
+
"@teambit/logger": "0.0.536",
|
|
45
|
+
"@teambit/scope": "0.0.655",
|
|
46
|
+
"@teambit/cli": "0.0.446",
|
|
47
|
+
"@teambit/isolator": "0.0.655",
|
|
48
|
+
"@teambit/component-tree": "0.0.443",
|
|
49
|
+
"@teambit/component.ui.component-status-resolver": "0.0.492",
|
|
50
|
+
"@teambit/lanes.ui.lanes": "0.0.1",
|
|
50
51
|
"@teambit/harmony.modules.resolved-component": "0.0.484",
|
|
51
|
-
"@teambit/dependency-resolver": "0.0.
|
|
52
|
-
"@teambit/compiler": "0.0.
|
|
53
|
-
"@teambit/component": "0.0.
|
|
54
|
-
"@teambit/graphql": "0.0.
|
|
55
|
-
"@teambit/aspect-loader": "0.0.
|
|
56
|
-
"@teambit/bundler": "0.0.
|
|
57
|
-
"@teambit/envs": "0.0.
|
|
58
|
-
"@teambit/pubsub": "0.0.
|
|
59
|
-
"@teambit/ui": "0.0.
|
|
60
|
-
"@teambit/variants": "0.0.
|
|
52
|
+
"@teambit/dependency-resolver": "0.0.655",
|
|
53
|
+
"@teambit/compiler": "0.0.655",
|
|
54
|
+
"@teambit/component": "0.0.655",
|
|
55
|
+
"@teambit/graphql": "0.0.655",
|
|
56
|
+
"@teambit/aspect-loader": "0.0.655",
|
|
57
|
+
"@teambit/bundler": "0.0.655",
|
|
58
|
+
"@teambit/envs": "0.0.655",
|
|
59
|
+
"@teambit/pubsub": "0.0.655",
|
|
60
|
+
"@teambit/ui": "0.0.655",
|
|
61
|
+
"@teambit/variants": "0.0.539",
|
|
61
62
|
"@teambit/component-issues": "0.0.46",
|
|
62
|
-
"@teambit/config": "0.0.
|
|
63
|
+
"@teambit/config": "0.0.459",
|
|
63
64
|
"@teambit/harmony.modules.requireable-component": "0.0.484",
|
|
64
|
-
"@teambit/importer": "0.0.
|
|
65
|
+
"@teambit/importer": "0.0.84",
|
|
65
66
|
"@teambit/workspace.modules.match-pattern": "0.0.489",
|
|
66
|
-
"@teambit/command-bar": "0.0.
|
|
67
|
-
"@teambit/design.ui.surfaces.menu.link-item": "0.0.
|
|
68
|
-
"@teambit/graph": "0.0.
|
|
69
|
-
"@teambit/react-router": "0.0.
|
|
70
|
-
"@teambit/sidebar": "0.0.
|
|
67
|
+
"@teambit/command-bar": "0.0.655",
|
|
68
|
+
"@teambit/design.ui.surfaces.menu.link-item": "0.0.379",
|
|
69
|
+
"@teambit/graph": "0.0.655",
|
|
70
|
+
"@teambit/react-router": "0.0.655",
|
|
71
|
+
"@teambit/sidebar": "0.0.655",
|
|
71
72
|
"@teambit/ui-foundation.ui.main-dropdown": "0.0.486",
|
|
72
73
|
"@teambit/ui-foundation.ui.menu": "0.0.486",
|
|
73
74
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.488",
|
|
75
|
+
"@teambit/ui-foundation.ui.tree.drawer": "0.0.491",
|
|
74
76
|
"@teambit/toolbox.time.time-format": "0.0.483",
|
|
75
77
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.487",
|
|
76
|
-
"@teambit/component-descriptor": "0.0.
|
|
77
|
-
"@teambit/deprecation": "0.0.
|
|
78
|
+
"@teambit/component-descriptor": "0.0.4",
|
|
79
|
+
"@teambit/deprecation": "0.0.655",
|
|
78
80
|
"@teambit/ui-foundation.ui.constants.z-indexes": "0.0.487",
|
|
79
81
|
"@teambit/ui-foundation.ui.buttons.collapser": "0.0.193",
|
|
80
82
|
"@teambit/ui-foundation.ui.corner": "0.0.494",
|
|
@@ -84,11 +86,10 @@
|
|
|
84
86
|
"@teambit/design.ui.styles.muted-italic": "0.0.35",
|
|
85
87
|
"@teambit/design.ui.tree": "0.0.5",
|
|
86
88
|
"@teambit/ui-foundation.ui.full-loader": "0.0.486",
|
|
87
|
-
"@teambit/ui-foundation.ui.side-bar": "0.0.
|
|
88
|
-
"@teambit/ui-foundation.ui.tree.drawer": "0.0.490",
|
|
89
|
+
"@teambit/ui-foundation.ui.side-bar": "0.0.498",
|
|
89
90
|
"@teambit/explorer.ui.gallery.component-grid": "0.0.486",
|
|
90
91
|
"@teambit/workspace.ui.empty-workspace": "0.0.489",
|
|
91
|
-
"@teambit/workspace.ui.workspace-component-card": "0.0.
|
|
92
|
+
"@teambit/workspace.ui.workspace-component-card": "0.0.494"
|
|
92
93
|
},
|
|
93
94
|
"devDependencies": {
|
|
94
95
|
"@types/lodash": "4.14.165",
|
|
@@ -108,7 +109,7 @@
|
|
|
108
109
|
},
|
|
109
110
|
"peerDependencies": {
|
|
110
111
|
"@apollo/client": "^3.0.0",
|
|
111
|
-
"@teambit/legacy": "1.0.
|
|
112
|
+
"@teambit/legacy": "1.0.225",
|
|
112
113
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
113
114
|
"react": "^16.8.0 || ^17.0.0"
|
|
114
115
|
},
|
|
@@ -136,7 +137,7 @@
|
|
|
136
137
|
"react": "-"
|
|
137
138
|
},
|
|
138
139
|
"peerDependencies": {
|
|
139
|
-
"@teambit/legacy": "1.0.
|
|
140
|
+
"@teambit/legacy": "1.0.225",
|
|
140
141
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
141
142
|
"react": "^16.8.0 || ^17.0.0"
|
|
142
143
|
}
|
|
@@ -45,10 +45,19 @@ export class ComponentStatus {
|
|
|
45
45
|
/**
|
|
46
46
|
* the component is not authored and not imported.
|
|
47
47
|
*/
|
|
48
|
-
readonly nested?: boolean
|
|
48
|
+
readonly nested?: boolean,
|
|
49
|
+
/**
|
|
50
|
+
* does the component exist on the current lane
|
|
51
|
+
*/
|
|
52
|
+
readonly isInCurrentLane?: boolean
|
|
49
53
|
) {}
|
|
50
54
|
|
|
51
|
-
static fromLegacy(
|
|
55
|
+
static fromLegacy(
|
|
56
|
+
status: LegacyComponentStatus,
|
|
57
|
+
hasModifiedDependencies: boolean,
|
|
58
|
+
isOutdated: boolean,
|
|
59
|
+
isInCurrentLane?: boolean
|
|
60
|
+
) {
|
|
52
61
|
const modify: ModifyInfo = {
|
|
53
62
|
hasModifiedFiles: !!status.modified,
|
|
54
63
|
hasModifiedDependencies,
|
|
@@ -61,7 +70,8 @@ export class ComponentStatus {
|
|
|
61
70
|
!status.notExist,
|
|
62
71
|
!status.missingFromScope,
|
|
63
72
|
isOutdated,
|
|
64
|
-
!!status.nested
|
|
73
|
+
!!status.nested,
|
|
74
|
+
isInCurrentLane
|
|
65
75
|
);
|
|
66
76
|
}
|
|
67
77
|
}
|
package/workspace.ui.runtime.tsx
CHANGED
|
@@ -12,6 +12,7 @@ import React from 'react';
|
|
|
12
12
|
import { RouteProps } from 'react-router-dom';
|
|
13
13
|
import CommandBarAspect, { CommandBarUI, ComponentSearcher, CommandHandler } from '@teambit/command-bar';
|
|
14
14
|
import { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';
|
|
15
|
+
import type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
|
|
15
16
|
import { WorkspaceComponentsDrawer } from './ui/workspace-components-drawer';
|
|
16
17
|
import { ComponentTreeWidget } from './component-tree.widget';
|
|
17
18
|
import { Workspace } from './ui';
|
|
@@ -59,8 +60,13 @@ export class WorkspaceUI {
|
|
|
59
60
|
/**
|
|
60
61
|
* register a route to the workspace.
|
|
61
62
|
*/
|
|
62
|
-
|
|
63
|
-
this.routeSlot.register(
|
|
63
|
+
registerRoutes(routes: RouteProps[]) {
|
|
64
|
+
this.routeSlot.register(routes);
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
registerDrawers(...drawers: DrawerType[]) {
|
|
69
|
+
this.sidebar.registerDrawer(...drawers);
|
|
64
70
|
return this;
|
|
65
71
|
}
|
|
66
72
|
|
|
@@ -73,6 +79,11 @@ export class WorkspaceUI {
|
|
|
73
79
|
this.menuItemSlot.register(menuItems);
|
|
74
80
|
};
|
|
75
81
|
|
|
82
|
+
registerMenuRoutes = (routes: RouteProps[]) => {
|
|
83
|
+
this.menuSlot.register(routes);
|
|
84
|
+
return this;
|
|
85
|
+
};
|
|
86
|
+
|
|
76
87
|
setComponents = (components: ComponentModel[]) => {
|
|
77
88
|
this.componentSearcher.update(components);
|
|
78
89
|
};
|
|
@@ -85,6 +96,7 @@ export class WorkspaceUI {
|
|
|
85
96
|
|
|
86
97
|
uiRoot(): UIRoot {
|
|
87
98
|
this.commandBarUI.addSearcher(this.componentSearcher);
|
|
99
|
+
this.registerDrawers(new WorkspaceComponentsDrawer(this.sidebarSlot));
|
|
88
100
|
const [setKeyBindHandler] = this.commandBarUI.addCommand({
|
|
89
101
|
id: 'sidebar.toggle', // TODO - extract to a component!
|
|
90
102
|
handler: () => {},
|
|
@@ -167,7 +179,6 @@ export class WorkspaceUI {
|
|
|
167
179
|
) {
|
|
168
180
|
componentTree.registerTreeNode(new ComponentTreeWidget());
|
|
169
181
|
sidebarSlot.register(new ComponentTreeWidget());
|
|
170
|
-
sidebar.registerDrawer(new WorkspaceComponentsDrawer(sidebarSlot));
|
|
171
182
|
graphUI.registerComponentWidget(new ComponentTreeWidget().widget);
|
|
172
183
|
|
|
173
184
|
const workspaceUI = new WorkspaceUI(
|
|
@@ -190,7 +201,7 @@ export class WorkspaceUI {
|
|
|
190
201
|
</MenuLinkItem>
|
|
191
202
|
));
|
|
192
203
|
|
|
193
|
-
workspaceUI.
|
|
204
|
+
workspaceUI.registerMenuRoutes([
|
|
194
205
|
{
|
|
195
206
|
exact: true,
|
|
196
207
|
path: '/',
|
|
@@ -202,10 +213,12 @@ export class WorkspaceUI {
|
|
|
202
213
|
},
|
|
203
214
|
]);
|
|
204
215
|
|
|
205
|
-
workspaceUI.
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
216
|
+
workspaceUI.registerRoutes([
|
|
217
|
+
{
|
|
218
|
+
path: workspaceUI.componentUi.routePath,
|
|
219
|
+
children: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),
|
|
220
|
+
},
|
|
221
|
+
]);
|
|
209
222
|
return workspaceUI;
|
|
210
223
|
}
|
|
211
224
|
}
|
package/eject-conf.cmd.tsx
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { Text } from 'ink';
|
|
4
|
-
import React from 'react';
|
|
5
|
-
|
|
6
|
-
import { EjectConfOptions, EjectConfResult, Workspace } from './workspace';
|
|
7
|
-
|
|
8
|
-
type EjectConfArgs = [string];
|
|
9
|
-
// From the cli we might get those as string in case we run it like --propagate true (return string) as opposed to only --propagate
|
|
10
|
-
type EjectConfOptionsCLI = {
|
|
11
|
-
propagate: string | boolean | undefined;
|
|
12
|
-
override: string | boolean | undefined;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default class EjectConfCmd implements Command {
|
|
16
|
-
name = 'eject-conf [id]';
|
|
17
|
-
description = 'ejecting components configuration';
|
|
18
|
-
alias = '';
|
|
19
|
-
group = 'development';
|
|
20
|
-
shortDescription = 'eject the target component configuration file (e.g. create a `component.json` file)';
|
|
21
|
-
options = [
|
|
22
|
-
['p', 'propagate', 'mark propagate true in the config file'],
|
|
23
|
-
['o', 'override', 'override file if exist'],
|
|
24
|
-
] as CommandOptions;
|
|
25
|
-
|
|
26
|
-
constructor(private workspace: Workspace) {}
|
|
27
|
-
|
|
28
|
-
// TODO: remove this ts-ignore
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
async render(args: EjectConfArgs, options: EjectConfOptionsCLI) {
|
|
31
|
-
const ejectResult = await this.json(args, options);
|
|
32
|
-
const [componentId] = args;
|
|
33
|
-
return (
|
|
34
|
-
<Text color="green">
|
|
35
|
-
successfully ejected config for component {componentId} in path {ejectResult.configPath}
|
|
36
|
-
</Text>
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
async report(args: EjectConfArgs, options: EjectConfOptionsCLI): Promise<string> {
|
|
41
|
-
const ejectResult = await this.json(args, options);
|
|
42
|
-
const [componentId] = args;
|
|
43
|
-
return `successfully ejected config for component ${chalk.bold(componentId)} in path ${chalk.green(
|
|
44
|
-
ejectResult.configPath
|
|
45
|
-
)}`;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
async json([componentId]: EjectConfArgs, options: EjectConfOptionsCLI): Promise<EjectConfResult> {
|
|
49
|
-
const ejectOptions = options;
|
|
50
|
-
if (ejectOptions.propagate === 'true') {
|
|
51
|
-
ejectOptions.propagate = true;
|
|
52
|
-
}
|
|
53
|
-
if (ejectOptions.override === 'true') {
|
|
54
|
-
ejectOptions.override = true;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const id = await this.workspace.resolveComponentId(componentId);
|
|
58
|
-
|
|
59
|
-
const results = await this.workspace.ejectConfig(id, ejectOptions as EjectConfOptions);
|
|
60
|
-
return results;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
Binary file
|