@teambit/workspace 0.0.837 → 0.0.845

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.
@@ -6,7 +6,7 @@ import { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';
6
6
  import { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';
7
7
  import { UIRootUI as UIRoot, UiUI } from '@teambit/ui';
8
8
  import { GraphUI } from '@teambit/graph';
9
- import { ReactNode } from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import { RouteProps } from 'react-router-dom';
11
11
  import { CommandBarUI } from '@teambit/command-bar';
12
12
  import type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
@@ -70,6 +70,7 @@ export declare class WorkspaceUI {
70
70
  registerDrawerComponentFilters: (filters: ComponentFilters) => void;
71
71
  registerDrawerWidgets: (widgets: ReactNode[]) => void;
72
72
  uiRoot(): UIRoot;
73
+ listSidebarItems(): (React.ComponentClass<{}, any> | React.FunctionComponent<{}>)[];
73
74
  private menuItems;
74
75
  static dependencies: import("@teambit/harmony").Aspect[];
75
76
  static runtime: import("@teambit/harmony").RuntimeDefinition;
@@ -31,6 +31,16 @@ function _component() {
31
31
  return data;
32
32
  }
33
33
 
34
+ function _lodash() {
35
+ const data = require("lodash");
36
+
37
+ _lodash = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
34
44
  function _componentTree() {
35
45
  const data = require("@teambit/component-tree");
36
46
 
@@ -299,7 +309,7 @@ class WorkspaceUI {
299
309
  menuSlot: this.menuSlot,
300
310
  routeSlot: this.routeSlot,
301
311
  sidebar: /*#__PURE__*/_react().default.createElement(this.sidebar.render, {
302
- itemSlot: this.sidebarItemSlot
312
+ items: this.listSidebarItems()
303
313
  }),
304
314
  workspaceUI: this,
305
315
  onSidebarTogglerChange: this.setKeyBindHandler
@@ -308,6 +318,13 @@ class WorkspaceUI {
308
318
  };
309
319
  }
310
320
 
321
+ listSidebarItems() {
322
+ const items = (0, _lodash().flatten)(this.sidebarItemSlot.values());
323
+ return (0, _lodash().compact)(items.map(item => {
324
+ return item.component;
325
+ }));
326
+ }
327
+
311
328
  static async provider([ui, componentUi, sidebar, componentTree, commandBarUI, graphUI], config, [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]) {
312
329
  componentTree.registerTreeNode(new (_componentTree2().ComponentTreeWidget)());
313
330
  sidebarSlot.register(new (_componentTree2().ComponentTreeWidget)());
@@ -321,11 +338,15 @@ class WorkspaceUI {
321
338
  })]);
322
339
  ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));
323
340
  workspaceUI.registerMenuItem(workspaceUI.menuItems);
324
- workspaceUI.registerSidebarLink(() => /*#__PURE__*/_react().default.createElement(_designUiSurfacesMenu().MenuLinkItem, {
325
- exact: true,
326
- href: "/",
327
- icon: "comps"
328
- }, "Gallery"));
341
+ workspaceUI.registerSidebarLink({
342
+ component: function Gallery() {
343
+ return /*#__PURE__*/_react().default.createElement(_designUiSurfacesMenu().MenuLinkItem, {
344
+ exact: true,
345
+ href: "/",
346
+ icon: "comps"
347
+ }, "Gallery");
348
+ }
349
+ });
329
350
  workspaceUI.registerMenuRoutes([{
330
351
  path: '/',
331
352
  element: /*#__PURE__*/_react().default.createElement(_uiFoundationUi().Menu, {
@@ -1 +1 @@
1
- {"version":3,"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","commandBarUI","menuItems","register","routes","components","updateComponents","links","filters","widgets","category","title","keyChar","handler","run","registerRoutes","registerDrawers","drawers","registerDrawer","registerSidebarWidget","componentTreeNode","uiRoot","workspaceDrawer","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","id","action","displayName","keybinding","path","element","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerComponentWidget","widget","workspaceUI","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","registerMenuRoutes","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"sources":["workspace.ui.runtime.tsx"],"sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\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, { ReactNode } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, 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 { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\n\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport { workspaceDrawer } from './workspace.ui.drawer';\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 drawerWidgetSlot: DrawerWidgetSlot,\n\n private drawerComponentsFiltersSlot: ComponentFiltersSlot,\n\n private commandBarUI: CommandBarUI\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.componentUi.updateComponents(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n uiRoot(): UIRoot {\n this.registerDrawers(\n workspaceDrawer({\n treeWidgets: this.sidebarSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n })\n );\n\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\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 = [UIAspect, ComponentAspect, SidebarAspect, ComponentTreeAspect, CommandBarAspect, GraphAspect];\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 Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\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 drawerWidgetSlot,\n drawerComponentsFiltersSlot,\n commandBarUI\n );\n\n workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter]);\n workspaceUI.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\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 path: '/',\n element: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.registerRoutes([\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n },\n ]);\n\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"],"mappings":"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"}
1
+ {"version":3,"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","commandBarUI","menuItems","register","routes","components","updateComponents","links","filters","widgets","category","title","keyChar","handler","run","registerRoutes","registerDrawers","drawers","registerDrawer","registerSidebarWidget","componentTreeNode","uiRoot","workspaceDrawer","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","id","action","displayName","keybinding","path","element","listSidebarItems","items","flatten","values","compact","map","item","component","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerComponentWidget","widget","workspaceUI","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","Gallery","registerMenuRoutes","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"sources":["workspace.ui.runtime.tsx"],"sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\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, { ReactNode } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, 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 { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\n\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport { workspaceDrawer } from './workspace.ui.drawer';\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 drawerWidgetSlot: DrawerWidgetSlot,\n\n private drawerComponentsFiltersSlot: ComponentFiltersSlot,\n\n private commandBarUI: CommandBarUI\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.componentUi.updateComponents(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n uiRoot(): UIRoot {\n this.registerDrawers(\n workspaceDrawer({\n treeWidgets: this.sidebarSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n })\n );\n\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Workspace\n menuSlot={this.menuSlot}\n routeSlot={this.routeSlot}\n sidebar={<this.sidebar.render items={this.listSidebarItems()} />}\n workspaceUI={this}\n onSidebarTogglerChange={this.setKeyBindHandler}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarItems() {\n const items = flatten(this.sidebarItemSlot.values());\n return compact(items.map((item) => {\n return item.component;\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 = [UIAspect, ComponentAspect, SidebarAspect, ComponentTreeAspect, CommandBarAspect, GraphAspect];\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 Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\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 drawerWidgetSlot,\n drawerComponentsFiltersSlot,\n commandBarUI\n );\n\n workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter]);\n workspaceUI.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));\n workspaceUI.registerMenuItem(workspaceUI.menuItems);\n\n workspaceUI.registerSidebarLink({\n component: function Gallery() {\n return <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>;\n },\n });\n\n workspaceUI.registerMenuRoutes([\n {\n path: '/',\n element: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.registerRoutes([\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n },\n ]);\n\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/workspace",
3
- "version": "0.0.837",
3
+ "version": "0.0.845",
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.837"
9
+ "version": "0.0.845"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -33,63 +33,63 @@
33
33
  "reset-css": "5.0.1",
34
34
  "@babel/runtime": "7.12.18",
35
35
  "core-js": "^3.0.0",
36
- "@teambit/harmony": "0.3.3",
37
- "@teambit/design.ui.surfaces.menu.link-item": "1.0.0",
38
- "@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
39
- "@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
40
36
  "@teambit/bit-error": "0.0.400",
41
- "@teambit/component-id": "0.0.411",
42
- "@teambit/lane-id": "0.0.81",
43
- "@teambit/legacy-bit-id": "0.0.408",
44
- "@teambit/logger": "0.0.655",
45
- "@teambit/scope": "0.0.837",
46
- "@teambit/cli": "0.0.562",
47
- "@teambit/isolator": "0.0.837",
48
- "@teambit/component-tree": "0.0.625",
37
+ "@teambit/component-id": "0.0.417",
38
+ "@teambit/lane-id": "0.0.83",
39
+ "@teambit/legacy-bit-id": "0.0.414",
40
+ "@teambit/logger": "0.0.657",
41
+ "@teambit/scope": "0.0.845",
42
+ "@teambit/cli": "0.0.564",
43
+ "@teambit/isolator": "0.0.845",
44
+ "@teambit/component-tree": "0.0.633",
49
45
  "@teambit/component.ui.component-status-resolver": "0.0.499",
50
- "@teambit/lanes.hooks.use-lanes": "0.0.16",
46
+ "@teambit/lanes.hooks.use-lanes": "0.0.24",
51
47
  "@teambit/harmony.modules.resolved-component": "0.0.490",
52
- "@teambit/dependency-resolver": "0.0.837",
53
- "@teambit/compiler": "0.0.837",
54
- "@teambit/component": "0.0.837",
55
- "@teambit/graphql": "0.0.837",
56
- "@teambit/aspect-loader": "0.0.837",
57
- "@teambit/bundler": "0.0.837",
58
- "@teambit/community": "0.0.110",
59
- "@teambit/envs": "0.0.837",
60
- "@teambit/pubsub": "0.0.837",
61
- "@teambit/ui": "0.0.837",
62
- "@teambit/variants": "0.0.659",
63
- "@teambit/component-issues": "0.0.66",
64
- "@teambit/config": "0.0.575",
48
+ "@teambit/dependency-resolver": "0.0.845",
49
+ "@teambit/compiler": "0.0.845",
50
+ "@teambit/component": "0.0.845",
51
+ "@teambit/harmony": "0.3.3",
52
+ "@teambit/graphql": "0.0.845",
53
+ "@teambit/aspect-loader": "0.0.845",
54
+ "@teambit/bundler": "0.0.845",
55
+ "@teambit/community": "0.0.112",
56
+ "@teambit/envs": "0.0.845",
57
+ "@teambit/pubsub": "0.0.845",
58
+ "@teambit/ui": "0.0.845",
59
+ "@teambit/variants": "0.0.667",
60
+ "@teambit/component-issues": "0.0.72",
61
+ "@teambit/config": "0.0.577",
65
62
  "@teambit/harmony.modules.requireable-component": "0.0.490",
66
- "@teambit/importer": "0.0.266",
63
+ "@teambit/importer": "0.0.274",
67
64
  "@teambit/workspace.modules.match-pattern": "0.0.495",
68
- "@teambit/component.ui.component-drawer": "0.0.111",
65
+ "@teambit/component.ui.component-drawer": "0.0.119",
69
66
  "@teambit/design.ui.tree": "0.0.12",
70
- "@teambit/ui-foundation.ui.side-bar": "0.0.628",
71
- "@teambit/command-bar": "0.0.837",
67
+ "@teambit/ui-foundation.ui.side-bar": "0.0.636",
68
+ "@teambit/command-bar": "0.0.845",
72
69
  "@teambit/component.ui.component-filters.component-filter-context": "0.0.7",
73
70
  "@teambit/component.ui.component-filters.deprecate-filter": "0.0.7",
74
- "@teambit/component.ui.component-filters.env-filter": "0.0.7",
75
- "@teambit/graph": "0.0.837",
76
- "@teambit/sidebar": "0.0.837",
71
+ "@teambit/component.ui.component-filters.env-filter": "0.0.13",
72
+ "@teambit/design.ui.surfaces.menu.link-item": "1.0.0",
73
+ "@teambit/graph": "0.0.845",
74
+ "@teambit/sidebar": "0.0.845",
77
75
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.493",
78
76
  "@teambit/ui-foundation.ui.menu": "0.0.493",
79
77
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.496",
80
78
  "@teambit/ui-foundation.ui.tree.drawer": "0.0.505",
81
79
  "@teambit/toolbox.time.time-format": "0.0.489",
82
80
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.496",
83
- "@teambit/component-descriptor": "0.0.125",
84
- "@teambit/deprecation": "0.0.837",
81
+ "@teambit/component-descriptor": "0.0.133",
82
+ "@teambit/deprecation": "0.0.845",
85
83
  "@teambit/ui-foundation.ui.constants.z-indexes": "0.0.494",
84
+ "@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
85
+ "@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
86
86
  "@teambit/ui-foundation.ui.buttons.collapser": "0.0.201",
87
87
  "@teambit/ui-foundation.ui.corner": "0.0.504",
88
88
  "@teambit/ui-foundation.ui.notifications.notification-context": "0.0.493",
89
89
  "@teambit/ui-foundation.ui.top-bar": "0.0.499",
90
90
  "@teambit/explorer.ui.gallery.component-grid": "0.0.492",
91
91
  "@teambit/workspace.ui.empty-workspace": "0.0.499",
92
- "@teambit/workspace.ui.workspace-component-card": "0.0.504"
92
+ "@teambit/workspace.ui.workspace-component-card": "0.0.505"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@types/lodash": "4.14.165",
@@ -109,7 +109,7 @@
109
109
  "peerDependencies": {
110
110
  "react-router-dom": "^6.0.0",
111
111
  "@apollo/client": "^3.6.0",
112
- "@teambit/legacy": "1.0.343",
112
+ "@teambit/legacy": "1.0.345",
113
113
  "react-dom": "^16.8.0 || ^17.0.0",
114
114
  "react": "^16.8.0 || ^17.0.0"
115
115
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.837/dist/workspace.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.837/dist/workspace.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.845/dist/workspace.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.845/dist/workspace.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -37,6 +37,9 @@ const wcComponentFields = gql`
37
37
  }
38
38
  isDeleted
39
39
  }
40
+ preview {
41
+ isScaling
42
+ }
40
43
  deprecation {
41
44
  isDeprecate
42
45
  newId
@@ -1,4 +1,5 @@
1
1
  import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';
2
+ import { compact, flatten } from 'lodash';
2
3
  import { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';
3
4
  import { Slot, SlotRegistry } from '@teambit/harmony';
4
5
  import { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
@@ -137,7 +138,7 @@ export class WorkspaceUI {
137
138
  <Workspace
138
139
  menuSlot={this.menuSlot}
139
140
  routeSlot={this.routeSlot}
140
- sidebar={<this.sidebar.render itemSlot={this.sidebarItemSlot} />}
141
+ sidebar={<this.sidebar.render items={this.listSidebarItems()} />}
141
142
  workspaceUI={this}
142
143
  onSidebarTogglerChange={this.setKeyBindHandler}
143
144
  />
@@ -147,6 +148,13 @@ export class WorkspaceUI {
147
148
  };
148
149
  }
149
150
 
151
+ listSidebarItems() {
152
+ const items = flatten(this.sidebarItemSlot.values());
153
+ return compact(items.map((item) => {
154
+ return item.component;
155
+ }));
156
+ }
157
+
150
158
  private menuItems: MenuItem[] = [
151
159
  {
152
160
  category: 'general',
@@ -221,11 +229,13 @@ export class WorkspaceUI {
221
229
  ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));
222
230
  workspaceUI.registerMenuItem(workspaceUI.menuItems);
223
231
 
224
- workspaceUI.registerSidebarLink(() => (
225
- <MenuLinkItem exact href="/" icon="comps">
226
- Gallery
227
- </MenuLinkItem>
228
- ));
232
+ workspaceUI.registerSidebarLink({
233
+ component: function Gallery() {
234
+ return <MenuLinkItem exact href="/" icon="comps">
235
+ Gallery
236
+ </MenuLinkItem>;
237
+ },
238
+ });
229
239
 
230
240
  workspaceUI.registerMenuRoutes([
231
241
  {