@teambit/scope 1.0.425 → 1.0.426

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.
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_component","_harmony","_sidebar","_ui","_react","_interopRequireDefault","_designUiSurfacesMenu","_commandBar","_componentUi","_componentUiComponentFilters","_componentUiComponentFilters2","_componentModules","_componentUiComponentFilters3","_menu","_scope","_scope2","_scopeUi","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeUI","constructor","routeSlot","componentUi","menuSlot","sidebar","sidebarSlot","commandBarUI","scopeBadgeSlot","menuWidgetSlot","sidebarItemSlot","menuItemSlot","cornerSlot","overviewSlot","contextSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","routes","register","menuItems","componentTreeNodes","map","componentTreeNode","links","drawer","registerDrawer","filters","widgets","components","updateComponents","category","title","keyChar","handler","run","registerBadge","badges","getScope","options","createElement","Scope","TargetScopeOverview","scopeClassName","TargetCorner","Corner","render","items","listSidebarLinks","overrideDrawerSlot","overrideDrawers","scopeUi","userUseScopeQuery","useScope","badgeSlot","overviewLineSlot","context","getContext","getComponentUrl","onSidebarTogglerChange","onSidebarToggle","setSidebarToggle","paneClassName","PaneWrapper","registerOverviewLine","lines","registerRoutes","applyMenuRoutes","registerMenuRoutes","path","routePath","element","getMenu","ScopeAspect","id","getScopeMenu","ScopeMenu","widgetSlot","registerExplicitRoutes","getComponentUI","registerMenuWidget","registerCorner","corner","registerComponentUrl","func","componentUrlFunc","replaceOverview","replaceDescription","replaceMetadataSection","registerMetadataItem","replaceComponentGrid","registerMetadata","addContext","componentUrlFn","contexts","values","ComponentUrlFuncProvider","children","ComponentUrlProvider","flatten","concat","registerDefaultDrawers","assumeScopeInUrl","overrideUseComponents","overrideUseLanes","getDefaultDrawer","scopeDrawer","treeWidgets","filtersSlot","uiRoot","setKeyBindHandler","addCommand","action","displayName","keybinding","sorted","sort","a","b","aWeight","weight","bWeight","compact","link","component","provider","ui","config","componentFiltersSlot","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","ShowMainFilter","registerDrawerWidgets","FilterWidget","key","TreeToggleWidget","registerRoot","bind","registerMenuItem","ScopeUseBox","actionName","useBoxAction","actionIcon","useBoxIcon","showGallery","registerSidebarLink","Gallery","MenuLinkItem","exact","href","icon","exports","UIAspect","ComponentAspect","SidebarAspect","CommandBarAspect","UIRuntime","Slot","withType","_default","addRuntime"],"sources":["scope.ui.runtime.tsx"],"sourcesContent":["import type { ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentAspect } from '@teambit/component';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SidebarAspect, SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { ComponentTreeNode } from '@teambit/component-tree';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport React, { ComponentType, ReactNode } from 'react';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { RouteProps } from 'react-router-dom';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport { CommandBarAspect, CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { ScopeModel } from '@teambit/scope.models.scope-model';\nimport { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-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';\nimport { ComponentUrlResolver, ComponentUrlProvider } from '@teambit/component.modules.component-url';\nimport { ShowMainFilter } from '@teambit/component.ui.component-filters.show-main-filter';\nimport { ScopeMenu, ScopeUseBox } from './ui/menu';\nimport { ScopeAspect } from './scope.aspect';\nimport { Scope } from './ui/scope';\nimport { scopeDrawer } from './scope.ui.drawer';\nimport { GetScopeOptions } from './get-scope-options';\n\nexport type ScopeBadge = ComponentType;\n\nexport type ScopeBadgeSlot = SlotRegistry<ScopeBadge[]>;\n\nexport type ContextSlot = SlotRegistry<ScopeContextType[]>;\n\nexport type ScopeContextType = ComponentType<{ scope: ScopeModel; children: ReactNode }>;\n\nexport type SidebarSlot = SlotRegistry<ComponentTreeNode>;\n\nexport type ScopeOverview = ComponentType;\n\nexport type ScopeOverviewSlot = SlotRegistry<ScopeOverview>;\n\nexport type Corner = ComponentType;\n\nexport type CornerSlot = SlotRegistry<Corner>;\n\nexport type OverviewLine = ComponentType;\n\nexport type OverviewLineSlot = SlotRegistry<OverviewLine[]>;\n\nexport type ScopeUIConfig = {\n showGallery: boolean;\n useBoxAction?: string;\n useBoxIcon?: string;\n};\n\nexport class ScopeUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarSlot,\n\n private commandBarUI: CommandBarUI,\n\n private scopeBadgeSlot: ScopeBadgeSlot,\n\n private menuWidgetSlot: MenuWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n /**\n * main dropdown item slot\n */\n private menuItemSlot: MenuItemSlot,\n\n /**\n * corner slot\n */\n private cornerSlot: CornerSlot,\n\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: OverviewLineSlot,\n\n /**\n * add a new context to ui\n */\n private contextSlot: ContextSlot,\n private drawerWidgetSlot: DrawerWidgetSlot,\n private drawerComponentsFiltersSlot: ComponentFiltersSlot\n ) {}\n\n private setSidebarToggle: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a new badge into the scope overview.\n */\n registerBadge(...badges: ScopeBadge[]) {\n this.scopeBadgeSlot.register(badges);\n return this;\n }\n\n getScope(options: GetScopeOptions) {\n return (\n <Scope\n TargetScopeOverview={options.TargetScopeOverview}\n scopeClassName={options.scopeClassName}\n TargetCorner={options.Corner}\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} overrideDrawerSlot={options.overrideDrawers} />}\n scopeUi={this}\n userUseScopeQuery={options.useScope}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext(options.getComponentUrl)}\n onSidebarTogglerChange={options.onSidebarToggle || this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n paneClassName={options.paneClassName}\n PaneWrapper={options.PaneWrapper}\n />\n );\n }\n\n /**\n * register a new line beneath the scope overview section.\n */\n registerOverviewLine(...lines: OverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n /**\n * register a route to the scope.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n private applyMenuRoutes() {\n this.registerMenuRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getMenu(ScopeAspect.id),\n },\n {\n path: '/',\n element: this.getScopeMenu(),\n },\n ]);\n }\n\n getScopeMenu() {\n return <ScopeMenu widgetSlot={this.menuWidgetSlot} menuItemSlot={this.menuItemSlot} />;\n }\n\n private registerExplicitRoutes() {\n this.applyMenuRoutes();\n this.registerRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getComponentUI(ScopeAspect.id),\n },\n ]);\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n }\n\n registerCorner(corner: Corner) {\n this.cornerSlot.register(corner);\n }\n\n private componentUrlFunc: ComponentUrlResolver | undefined;\n registerComponentUrl(func: ComponentUrlResolver) {\n this.componentUrlFunc = func;\n }\n\n /**\n * register a scope overview.\n */\n replaceOverview() {}\n\n /**\n * register description.\n */\n replaceDescription() {}\n\n /**\n * register metadata section.\n */\n replaceMetadataSection() {}\n\n /**\n * register a metadata item.\n */\n registerMetadataItem() {}\n\n replaceComponentGrid() {}\n\n /**\n * register metadata.\n */\n registerMetadata() {}\n\n /**\n * add a new context to the scope.\n */\n addContext(...context: ScopeContextType[]) {\n this.contextSlot.register(context);\n return this;\n }\n\n private getContext(componentUrlFn?: ComponentUrlResolver) {\n const contexts = this.contextSlot.values();\n // eslint-disable-next-line react/prop-types\n const ComponentUrlFuncProvider: ScopeContextType = ({ children }) => (\n // @ts-ignore TODO: fix this\n <ComponentUrlProvider value={componentUrlFn || this.componentUrlFunc}>{children}</ComponentUrlProvider>\n );\n\n return flatten(contexts).concat(ComponentUrlFuncProvider);\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n /**\n * register a sidebar Widget for the scope\n */\n registerSidebarWidget = (componentTreeNodes: ComponentTreeNode[]) => {\n componentTreeNodes.map((componentTreeNode) => this.sidebarSlot.register(componentTreeNode));\n return this;\n };\n\n /**\n * register a sidebar link to the section above the drawers\n */\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n registerDrawers = (...drawer: DrawerType[]) => {\n this.sidebar.registerDrawer(...drawer);\n return this;\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 registerDefaultDrawers(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n this.sidebar.registerDrawer(this.getDefaultDrawer(assumeScopeInUrl, overrideUseComponents, overrideUseLanes));\n }\n\n getDefaultDrawer(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n return scopeDrawer({\n treeWidgets: this.sidebarSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n assumeScopeInUrl,\n overrideUseComponents,\n overrideUseLanes,\n });\n }\n\n uiRoot(): UIRoot {\n this.registerDefaultDrawers();\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.setSidebarToggle = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Scope\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} />}\n scopeUi={this}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext()}\n onSidebarTogglerChange={this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarLinks() {\n const links = flatten(this.sidebarItemSlot.values());\n const sorted = links.sort((a, b) => {\n const aWeight = a?.weight || 0;\n const bWeight = b?.weight || 0;\n return aWeight - bWeight;\n });\n\n return compact(\n sorted.map((link) => {\n return link.component;\n })\n );\n }\n\n /** registers available components */\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\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, CommandBarAspect];\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<ScopeBadge>(),\n Slot.withType<ScopeOverview>(),\n Slot.withType<MenuWidget[]>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<CornerSlot>(),\n Slot.withType<OverviewLineSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<ContextSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static defaultConfig = {\n showGallery: true,\n };\n\n static async provider(\n [ui, componentUi, sidebar, commandBarUI]: [UiUI, ComponentUI, SidebarUI, CommandBarUI],\n config: ScopeUIConfig,\n [\n routeSlot,\n menuSlot,\n sidebarSlot,\n scopeBadgeSlot,\n menuWidgetSlot,\n menuItemSlot,\n sidebarItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot,\n ]: [\n RouteSlot,\n RouteSlot,\n SidebarSlot,\n ScopeBadgeSlot,\n MenuWidgetSlot,\n MenuItemSlot,\n SidebarItemSlot,\n CornerSlot,\n OverviewLineSlot,\n ContextSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\n ]\n ) {\n const scopeUi = new ScopeUI(\n routeSlot,\n componentUi,\n menuSlot,\n sidebar,\n sidebarSlot,\n commandBarUI,\n scopeBadgeSlot,\n menuWidgetSlot,\n sidebarItemSlot,\n menuItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot\n );\n scopeUi.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter, ShowMainFilter(false)]);\n scopeUi.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n if (ui) ui.registerRoot(scopeUi.uiRoot.bind(scopeUi));\n scopeUi.registerMenuItem(scopeUi.menuItems);\n scopeUi.registerMenuWidget(() => <ScopeUseBox actionName={config.useBoxAction} actionIcon={config.useBoxIcon} />);\n if (config.showGallery)\n scopeUi.registerSidebarLink({\n component: function Gallery() {\n return (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Overview\n </MenuLinkItem>\n );\n },\n });\n if (ui) scopeUi.registerExplicitRoutes();\n\n return scopeUi;\n }\n}\n\nexport default ScopeUI;\n\nScopeAspect.addRuntime(ScopeUI);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","data","require","_component","_harmony","_sidebar","_ui","_react","_interopRequireDefault","_designUiSurfacesMenu","_commandBar","_componentUi","_componentUiComponentFilters","_componentUiComponentFilters2","_componentModules","_componentUiComponentFilters3","_menu","_scope","_scope2","_scopeUi","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeUI","constructor","routeSlot","componentUi","menuSlot","sidebar","sidebarSlot","commandBarUI","scopeBadgeSlot","menuWidgetSlot","sidebarItemSlot","menuItemSlot","cornerSlot","overviewSlot","contextSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","routes","register","menuItems","componentTreeNodes","map","componentTreeNode","links","drawer","registerDrawer","filters","widgets","components","updateComponents","category","title","keyChar","handler","run","registerBadge","badges","getScope","options","createElement","Scope","TargetScopeOverview","scopeClassName","TargetCorner","Corner","render","items","listSidebarLinks","overrideDrawerSlot","overrideDrawers","scopeUi","userUseScopeQuery","useScope","badgeSlot","overviewLineSlot","context","getContext","getComponentUrl","onSidebarTogglerChange","onSidebarToggle","setSidebarToggle","paneClassName","PaneWrapper","registerOverviewLine","lines","registerRoutes","applyMenuRoutes","registerMenuRoutes","path","routePath","element","getMenu","ScopeAspect","id","getScopeMenu","ScopeMenu","widgetSlot","registerExplicitRoutes","getComponentUI","registerMenuWidget","registerCorner","corner","registerComponentUrl","func","componentUrlFunc","replaceOverview","replaceDescription","replaceMetadataSection","registerMetadataItem","replaceComponentGrid","registerMetadata","addContext","componentUrlFn","contexts","values","ComponentUrlFuncProvider","children","ComponentUrlProvider","flatten","concat","registerDefaultDrawers","assumeScopeInUrl","overrideUseComponents","overrideUseLanes","getDefaultDrawer","scopeDrawer","treeWidgets","filtersSlot","uiRoot","setKeyBindHandler","addCommand","action","displayName","keybinding","sorted","sort","a","b","aWeight","weight","bWeight","compact","link","component","provider","ui","config","componentFiltersSlot","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","ShowMainFilter","registerDrawerWidgets","FilterWidget","key","TreeToggleWidget","registerRoot","bind","registerMenuItem","ScopeUseBox","actionName","useBoxAction","actionIcon","useBoxIcon","showGallery","registerSidebarLink","Gallery","MenuLinkItem","exact","href","icon","exports","UIAspect","ComponentAspect","SidebarAspect","CommandBarAspect","UIRuntime","Slot","withType","_default","addRuntime"],"sources":["scope.ui.runtime.tsx"],"sourcesContent":["import type { ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentAspect } from '@teambit/component';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SidebarAspect, SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { ComponentTreeNode } from '@teambit/component-tree';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport React, { ComponentType, ReactNode } from 'react';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { RouteProps } from 'react-router-dom';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport { CommandBarAspect, CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { ScopeModel } from '@teambit/scope.models.scope-model';\nimport { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-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';\nimport { ComponentUrlResolver, ComponentUrlProvider } from '@teambit/component.modules.component-url';\nimport { ShowMainFilter } from '@teambit/component.ui.component-filters.show-main-filter';\nimport { ScopeMenu, ScopeUseBox } from './ui/menu';\nimport { ScopeAspect } from './scope.aspect';\nimport { Scope } from './ui/scope';\nimport { scopeDrawer } from './scope.ui.drawer';\nimport { GetScopeOptions } from './get-scope-options';\n\nexport type ScopeBadge = ComponentType;\n\nexport type ScopeBadgeSlot = SlotRegistry<ScopeBadge[]>;\n\nexport type ContextSlot = SlotRegistry<ScopeContextType[]>;\n\nexport type ScopeContextType = ComponentType<{ scope: ScopeModel; children: ReactNode }>;\n\nexport type SidebarSlot = SlotRegistry<ComponentTreeNode>;\n\nexport type ScopeOverview = ComponentType;\n\nexport type ScopeOverviewSlot = SlotRegistry<ScopeOverview>;\n\nexport type Corner = ComponentType;\n\nexport type CornerSlot = SlotRegistry<Corner>;\n\nexport type OverviewLine = ComponentType;\n\nexport type OverviewLineSlot = SlotRegistry<OverviewLine[]>;\n\nexport type ScopeUIConfig = {\n showGallery: boolean;\n useBoxAction?: string;\n useBoxIcon?: string;\n};\n\nexport class ScopeUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarSlot,\n\n private commandBarUI: CommandBarUI,\n\n private scopeBadgeSlot: ScopeBadgeSlot,\n\n private menuWidgetSlot: MenuWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n /**\n * main dropdown item slot\n */\n private menuItemSlot: MenuItemSlot,\n\n /**\n * corner slot\n */\n private cornerSlot: CornerSlot,\n\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: OverviewLineSlot,\n\n /**\n * add a new context to ui\n */\n private contextSlot: ContextSlot,\n private drawerWidgetSlot: DrawerWidgetSlot,\n private drawerComponentsFiltersSlot: ComponentFiltersSlot\n ) {}\n\n private setSidebarToggle: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a new badge into the scope overview.\n */\n registerBadge(...badges: ScopeBadge[]) {\n this.scopeBadgeSlot.register(badges);\n return this;\n }\n\n getScope(options: GetScopeOptions) {\n return (\n <Scope\n TargetScopeOverview={options.TargetScopeOverview}\n scopeClassName={options.scopeClassName}\n TargetCorner={options.Corner}\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} overrideDrawerSlot={options.overrideDrawers} />}\n scopeUi={this}\n userUseScopeQuery={options.useScope}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext(options.getComponentUrl)}\n onSidebarTogglerChange={options.onSidebarToggle || this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n paneClassName={options.paneClassName}\n PaneWrapper={options.PaneWrapper}\n />\n );\n }\n\n /**\n * register a new line beneath the scope overview section.\n */\n registerOverviewLine(...lines: OverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n /**\n * register a route to the scope.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n private applyMenuRoutes() {\n this.registerMenuRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getMenu(ScopeAspect.id),\n },\n {\n path: '/',\n element: this.getScopeMenu(),\n },\n ]);\n }\n\n getScopeMenu() {\n return <ScopeMenu widgetSlot={this.menuWidgetSlot} menuItemSlot={this.menuItemSlot} />;\n }\n\n private registerExplicitRoutes() {\n this.applyMenuRoutes();\n this.registerRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getComponentUI(ScopeAspect.id),\n },\n ]);\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n }\n\n registerCorner(corner: Corner) {\n this.cornerSlot.register(corner);\n }\n\n private componentUrlFunc: ComponentUrlResolver | undefined;\n registerComponentUrl(func: ComponentUrlResolver) {\n this.componentUrlFunc = func;\n }\n\n /**\n * register a scope overview.\n */\n replaceOverview() {}\n\n /**\n * register description.\n */\n replaceDescription() {}\n\n /**\n * register metadata section.\n */\n replaceMetadataSection() {}\n\n /**\n * register a metadata item.\n */\n registerMetadataItem() {}\n\n replaceComponentGrid() {}\n\n /**\n * register metadata.\n */\n registerMetadata() {}\n\n /**\n * add a new context to the scope.\n */\n addContext(...context: ScopeContextType[]) {\n this.contextSlot.register(context);\n return this;\n }\n\n private getContext(componentUrlFn?: ComponentUrlResolver) {\n const contexts = this.contextSlot.values();\n // eslint-disable-next-line react/prop-types\n const ComponentUrlFuncProvider: ScopeContextType = ({ children }) => (\n // @ts-ignore TODO: fix this\n <ComponentUrlProvider value={componentUrlFn || this.componentUrlFunc}>{children}</ComponentUrlProvider>\n );\n\n return flatten(contexts).concat(ComponentUrlFuncProvider);\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n /**\n * register a sidebar Widget for the scope\n */\n registerSidebarWidget = (componentTreeNodes: ComponentTreeNode[]) => {\n componentTreeNodes.map((componentTreeNode) => this.sidebarSlot.register(componentTreeNode));\n return this;\n };\n\n /**\n * register a sidebar link to the section above the drawers\n */\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n registerDrawers = (...drawer: DrawerType[]) => {\n this.sidebar.registerDrawer(...drawer);\n return this;\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 registerDefaultDrawers(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n this.sidebar.registerDrawer(this.getDefaultDrawer(assumeScopeInUrl, overrideUseComponents, overrideUseLanes));\n }\n\n getDefaultDrawer(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n return scopeDrawer({\n treeWidgets: this.sidebarSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n assumeScopeInUrl,\n overrideUseComponents,\n overrideUseLanes,\n });\n }\n\n uiRoot(): UIRoot {\n this.registerDefaultDrawers();\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.setSidebarToggle = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Scope\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} />}\n scopeUi={this}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext()}\n onSidebarTogglerChange={this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarLinks() {\n const links = flatten(this.sidebarItemSlot.values());\n const sorted = links.sort((a, b) => {\n const aWeight = a?.weight || 0;\n const bWeight = b?.weight || 0;\n return aWeight - bWeight;\n });\n\n return compact(\n sorted.map((link) => {\n return link.component;\n })\n );\n }\n\n /** registers available components */\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\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, CommandBarAspect];\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<ScopeBadge>(),\n Slot.withType<ScopeOverview>(),\n Slot.withType<MenuWidget[]>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<CornerSlot>(),\n Slot.withType<OverviewLineSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<ContextSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static defaultConfig = {\n showGallery: true,\n };\n\n static async provider(\n [ui, componentUi, sidebar, commandBarUI]: [UiUI, ComponentUI, SidebarUI, CommandBarUI],\n config: ScopeUIConfig,\n [\n routeSlot,\n menuSlot,\n sidebarSlot,\n scopeBadgeSlot,\n menuWidgetSlot,\n menuItemSlot,\n sidebarItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot,\n ]: [\n RouteSlot,\n RouteSlot,\n SidebarSlot,\n ScopeBadgeSlot,\n MenuWidgetSlot,\n MenuItemSlot,\n SidebarItemSlot,\n CornerSlot,\n OverviewLineSlot,\n ContextSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot,\n ]\n ) {\n const scopeUi = new ScopeUI(\n routeSlot,\n componentUi,\n menuSlot,\n sidebar,\n sidebarSlot,\n commandBarUI,\n scopeBadgeSlot,\n menuWidgetSlot,\n sidebarItemSlot,\n menuItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot\n );\n scopeUi.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter, ShowMainFilter(false)]);\n scopeUi.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n if (ui) ui.registerRoot(scopeUi.uiRoot.bind(scopeUi));\n scopeUi.registerMenuItem(scopeUi.menuItems);\n scopeUi.registerMenuWidget(() => <ScopeUseBox actionName={config.useBoxAction} actionIcon={config.useBoxIcon} />);\n if (config.showGallery)\n scopeUi.registerSidebarLink({\n component: function Gallery() {\n return (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Overview\n </MenuLinkItem>\n );\n },\n });\n if (ui) scopeUi.registerExplicitRoutes();\n\n return scopeUi;\n }\n}\n\nexport default ScopeUI;\n\nScopeAspect.addRuntime(ScopeUI);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_componentId","_laneId","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","STAGED_CONFIG_DIR","StagedConfig","constructor","filePath","componentsConfig","logger","load","scopePath","laneId","lanePath","path","join","scope","name","DEFAULT_LANE","fileContent","fs","readJson","map","item","id","ComponentID","fromObject","config","err","code","toObject","write","hasChanged","outputFile","JSON","stringify","getConfigPerId","find","c","isEqual","ignoreVersion","getAll","isEmpty","length","deleteFile","debug","remove","addComponentConfig","exists","push","removeComponentConfig","componentsConfigLengthBefore","filter","toString","exports"],"sources":["staged-config.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { Logger } from '@teambit/logger';\n\nconst STAGED_CONFIG_DIR = 'staged-config';\n\ntype Config = Record<string, any> | undefined;\ntype ComponentConfig = { id: ComponentID; config: Config };\ntype ComponentConfigObj = { id: ComponentIdObj; config: Config };\n\nexport class StagedConfig {\n hasChanged = false;\n constructor(readonly filePath: string, private componentsConfig: ComponentConfig[], private logger: Logger) {}\n\n static async load(scopePath: string, logger: Logger, laneId?: LaneId): Promise<StagedConfig> {\n const lanePath = laneId ? path.join(laneId.scope, laneId.name) : DEFAULT_LANE;\n const filePath = path.join(scopePath, STAGED_CONFIG_DIR, `${lanePath}.json`);\n let componentsConfig: ComponentConfig[] = [];\n try {\n const fileContent = await fs.readJson(filePath);\n componentsConfig = fileContent.map((item) => ({ id: ComponentID.fromObject(item.id), config: item.config }));\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n componentsConfig = [];\n } else {\n throw err;\n }\n }\n return new StagedConfig(filePath, componentsConfig, logger);\n }\n\n toObject(): ComponentConfigObj[] {\n return this.componentsConfig.map(({ id, config }) => ({ id: id.toObject(), config }));\n }\n\n async write() {\n if (!this.hasChanged) return;\n await fs.outputFile(this.filePath, JSON.stringify(this.toObject(), null, 2));\n }\n\n getConfigPerId(id: ComponentID): Config {\n return this.componentsConfig.find((c) => c.id.isEqual(id, { ignoreVersion: true }))?.config;\n }\n\n getAll() {\n return this.componentsConfig;\n }\n\n isEmpty() {\n return this.componentsConfig.length === 0;\n }\n\n async deleteFile() {\n this.logger.debug(`staged-config, deleting ${this.filePath}`);\n await fs.remove(this.filePath);\n this.componentsConfig = [];\n }\n\n addComponentConfig(id: ComponentID, config: Config) {\n const exists = this.componentsConfig.find((c) => c.id.isEqual(id, { ignoreVersion: true }));\n if (exists) {\n exists.config = config;\n } else {\n this.componentsConfig.push({ id, config });\n }\n this.hasChanged = true;\n }\n\n removeComponentConfig(id: ComponentID) {\n const componentsConfigLengthBefore = this.componentsConfig.length;\n this.componentsConfig = this.componentsConfig.filter((c) => !c.id.isEqual(id, { ignoreVersion: true }));\n if (this.componentsConfig.length === componentsConfigLengthBefore) {\n this.logger.debug(`removeComponentConfig: unable to find ${id.toString()}`);\n } else {\n this.hasChanged = true;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_componentId","_laneId","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","STAGED_CONFIG_DIR","StagedConfig","constructor","filePath","componentsConfig","logger","load","scopePath","laneId","lanePath","path","join","scope","name","DEFAULT_LANE","fileContent","fs","readJson","map","item","id","ComponentID","fromObject","config","err","code","toObject","write","hasChanged","outputFile","JSON","stringify","getConfigPerId","find","c","isEqual","ignoreVersion","getAll","isEmpty","length","deleteFile","debug","remove","addComponentConfig","exists","push","removeComponentConfig","componentsConfigLengthBefore","filter","toString","exports"],"sources":["staged-config.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { Logger } from '@teambit/logger';\n\nconst STAGED_CONFIG_DIR = 'staged-config';\n\ntype Config = Record<string, any> | undefined;\ntype ComponentConfig = { id: ComponentID; config: Config };\ntype ComponentConfigObj = { id: ComponentIdObj; config: Config };\n\nexport class StagedConfig {\n hasChanged = false;\n constructor(\n readonly filePath: string,\n private componentsConfig: ComponentConfig[],\n private logger: Logger\n ) {}\n\n static async load(scopePath: string, logger: Logger, laneId?: LaneId): Promise<StagedConfig> {\n const lanePath = laneId ? path.join(laneId.scope, laneId.name) : DEFAULT_LANE;\n const filePath = path.join(scopePath, STAGED_CONFIG_DIR, `${lanePath}.json`);\n let componentsConfig: ComponentConfig[] = [];\n try {\n const fileContent = await fs.readJson(filePath);\n componentsConfig = fileContent.map((item) => ({ id: ComponentID.fromObject(item.id), config: item.config }));\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n componentsConfig = [];\n } else {\n throw err;\n }\n }\n return new StagedConfig(filePath, componentsConfig, logger);\n }\n\n toObject(): ComponentConfigObj[] {\n return this.componentsConfig.map(({ id, config }) => ({ id: id.toObject(), config }));\n }\n\n async write() {\n if (!this.hasChanged) return;\n await fs.outputFile(this.filePath, JSON.stringify(this.toObject(), null, 2));\n }\n\n getConfigPerId(id: ComponentID): Config {\n return this.componentsConfig.find((c) => c.id.isEqual(id, { ignoreVersion: true }))?.config;\n }\n\n getAll() {\n return this.componentsConfig;\n }\n\n isEmpty() {\n return this.componentsConfig.length === 0;\n }\n\n async deleteFile() {\n this.logger.debug(`staged-config, deleting ${this.filePath}`);\n await fs.remove(this.filePath);\n this.componentsConfig = [];\n }\n\n addComponentConfig(id: ComponentID, config: Config) {\n const exists = this.componentsConfig.find((c) => c.id.isEqual(id, { ignoreVersion: true }));\n if (exists) {\n exists.config = config;\n } else {\n this.componentsConfig.push({ id, config });\n }\n this.hasChanged = true;\n }\n\n removeComponentConfig(id: ComponentID) {\n const componentsConfigLengthBefore = this.componentsConfig.length;\n this.componentsConfig = this.componentsConfig.filter((c) => !c.id.isEqual(id, { ignoreVersion: true }));\n if (this.componentsConfig.length === componentsConfigLengthBefore) {\n this.logger.debug(`removeComponentConfig: unable to find ${id.toString()}`);\n } else {\n this.hasChanged = true;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/scope",
3
- "version": "1.0.425",
3
+ "version": "1.0.426",
4
4
  "homepage": "https://bit.cloud/teambit/scope/scope",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "scope",
9
- "version": "1.0.425"
9
+ "version": "1.0.426"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -48,42 +48,42 @@
48
48
  "@teambit/scope.ui.empty-scope": "0.0.509",
49
49
  "@teambit/scope.ui.scope-details": "0.0.526",
50
50
  "@teambit/scopes.scope-id": "0.0.7",
51
- "@teambit/cli": "0.0.1002",
51
+ "@teambit/cli": "0.0.1003",
52
52
  "@teambit/component.modules.component-url": "0.0.169",
53
53
  "@teambit/scope.models.scope-model": "0.0.515",
54
54
  "@teambit/scope.ui.hooks.scope-context": "0.0.509",
55
- "@teambit/aspect-loader": "1.0.425",
56
- "@teambit/compiler": "1.0.425",
57
- "@teambit/component": "1.0.425",
58
- "@teambit/dependency-resolver": "1.0.425",
59
- "@teambit/envs": "1.0.425",
60
- "@teambit/global-config": "0.0.1005",
61
- "@teambit/harmony.modules.requireable-component": "0.0.497",
62
- "@teambit/isolator": "1.0.425",
63
- "@teambit/logger": "0.0.1095",
55
+ "@teambit/aspect-loader": "1.0.426",
56
+ "@teambit/compiler": "1.0.426",
57
+ "@teambit/component": "1.0.426",
58
+ "@teambit/dependency-resolver": "1.0.426",
59
+ "@teambit/envs": "1.0.426",
60
+ "@teambit/global-config": "0.0.1006",
61
+ "@teambit/harmony.modules.requireable-component": "0.0.498",
62
+ "@teambit/isolator": "1.0.426",
63
+ "@teambit/logger": "0.0.1096",
64
64
  "@teambit/harmony.modules.in-memory-cache": "0.0.2",
65
65
  "@teambit/bit.get-bit-version": "0.0.1",
66
66
  "@teambit/legacy-component-log": "0.0.403",
67
- "@teambit/legacy.scope-api": "0.0.36",
68
- "@teambit/builder": "1.0.425",
69
- "@teambit/express": "0.0.1101",
70
- "@teambit/graph": "1.0.425",
71
- "@teambit/graphql": "1.0.425",
72
- "@teambit/ui": "1.0.425",
67
+ "@teambit/legacy.scope-api": "0.0.37",
68
+ "@teambit/builder": "1.0.426",
69
+ "@teambit/express": "0.0.1102",
70
+ "@teambit/graph": "1.0.426",
71
+ "@teambit/graphql": "1.0.426",
72
+ "@teambit/ui": "1.0.426",
73
73
  "@teambit/workspace.modules.match-pattern": "0.0.505",
74
- "@teambit/component.ui.component-drawer": "0.0.414",
74
+ "@teambit/component.ui.component-drawer": "0.0.415",
75
75
  "@teambit/lanes.hooks.use-lane-components": "0.0.269",
76
76
  "@teambit/lanes.hooks.use-lanes": "0.0.274",
77
77
  "@teambit/ui-foundation.ui.side-bar": "0.0.886",
78
- "@teambit/command-bar": "1.0.425",
79
- "@teambit/component-tree": "1.0.425",
78
+ "@teambit/command-bar": "1.0.426",
79
+ "@teambit/component-tree": "1.0.426",
80
80
  "@teambit/component.ui.component-filters.component-filter-context": "0.0.229",
81
81
  "@teambit/component.ui.component-filters.deprecate-filter": "0.0.227",
82
82
  "@teambit/component.ui.component-filters.env-filter": "0.0.239",
83
83
  "@teambit/component.ui.component-filters.show-main-filter": "0.0.220",
84
- "@teambit/sidebar": "1.0.425",
84
+ "@teambit/sidebar": "1.0.426",
85
85
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.511",
86
- "@teambit/ui-foundation.ui.buttons.collapser": "0.0.223",
86
+ "@teambit/ui-foundation.ui.buttons.collapser": "0.0.224",
87
87
  "@teambit/component-descriptor": "0.0.426",
88
88
  "@teambit/design.ui.tooltip": "0.0.371",
89
89
  "@teambit/preview.ui.preview-placeholder": "0.0.526"
@@ -7,7 +7,10 @@ import { pipeline } from 'stream/promises';
7
7
  import { ScopeMain } from '../scope.main.runtime';
8
8
 
9
9
  export class FetchRoute implements Route {
10
- constructor(private scope: ScopeMain, private logger: Logger) {}
10
+ constructor(
11
+ private scope: ScopeMain,
12
+ private logger: Logger
13
+ ) {}
11
14
 
12
15
  route = '/scope/fetch';
13
16
  method = 'post';
@@ -4,7 +4,10 @@ import { put } from '@teambit/legacy.scope-api';
4
4
  import { OnPostPutSlot, ScopeMain } from '../scope.main.runtime';
5
5
 
6
6
  export class PutRoute implements Route {
7
- constructor(private scope: ScopeMain, private postPutSlot: OnPostPutSlot) {}
7
+ constructor(
8
+ private scope: ScopeMain,
9
+ private postPutSlot: OnPostPutSlot
10
+ ) {}
8
11
 
9
12
  method = 'post';
10
13
  route = '/scope/put';
@@ -428,7 +428,7 @@ export class ScopeUI {
428
428
  OverviewLineSlot,
429
429
  ContextSlot,
430
430
  DrawerWidgetSlot,
431
- ComponentFiltersSlot
431
+ ComponentFiltersSlot,
432
432
  ]
433
433
  ) {
434
434
  const scopeUi = new ScopeUI(