@teambit/scope 1.0.667 → 1.0.668
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/debug-commands/cat-component-cmd.ts +1 -1
- package/debug-commands/cat-component.ts +3 -2
- package/debug-commands/cat-lane-cmd.ts +1 -1
- package/debug-commands/cat-lane.ts +2 -1
- package/debug-commands/cat-object-cmd.ts +1 -1
- package/debug-commands/cat-scope-cmd.ts +1 -1
- package/debug-commands/cat-scope.ts +4 -2
- package/dist/clear-cache-action.d.ts +1 -1
- package/dist/clear-cache-action.js.map +1 -1
- package/dist/debug-commands/cat-component-cmd.d.ts +1 -1
- package/dist/debug-commands/cat-component-cmd.js.map +1 -1
- package/dist/debug-commands/cat-component.js.map +1 -1
- package/dist/debug-commands/cat-lane-cmd.d.ts +1 -1
- package/dist/debug-commands/cat-lane-cmd.js.map +1 -1
- package/dist/debug-commands/cat-lane.js.map +1 -1
- package/dist/debug-commands/cat-object-cmd.d.ts +1 -1
- package/dist/debug-commands/cat-object-cmd.js.map +1 -1
- package/dist/debug-commands/cat-scope-cmd.d.ts +1 -1
- package/dist/debug-commands/cat-scope-cmd.js.map +1 -1
- package/dist/debug-commands/cat-scope.d.ts +1 -1
- package/dist/debug-commands/cat-scope.js.map +1 -1
- package/dist/exceptions/component-not-found.d.ts +1 -1
- package/dist/exceptions/component-not-found.js.map +1 -1
- package/dist/get-scope-options.d.ts +3 -3
- package/dist/get-scope-options.js.map +1 -1
- package/dist/{preview-1753809186996.js → preview-1753833698619.js} +2 -2
- package/dist/routes/action.route.d.ts +3 -2
- package/dist/routes/action.route.js.map +1 -1
- package/dist/routes/delete.route.d.ts +3 -2
- package/dist/routes/delete.route.js.map +1 -1
- package/dist/routes/fetch.route.d.ts +4 -3
- package/dist/routes/fetch.route.js.map +1 -1
- package/dist/routes/put.route.d.ts +3 -2
- package/dist/routes/put.route.js.map +1 -1
- package/dist/run-action/run-action.cmd.d.ts +1 -1
- package/dist/run-action/run-action.cmd.js.map +1 -1
- package/dist/run-action/run-action.js.map +1 -1
- package/dist/scope-aspects-loader.d.ts +10 -10
- package/dist/scope-aspects-loader.js.map +1 -1
- package/dist/scope-cmd.d.ts +1 -1
- package/dist/scope-cmd.js.map +1 -1
- package/dist/scope-component-loader.d.ts +4 -3
- package/dist/scope-component-loader.js.map +1 -1
- package/dist/scope.graphql.d.ts +2 -2
- package/dist/scope.graphql.js.map +1 -1
- package/dist/scope.main.runtime.d.ts +26 -26
- package/dist/scope.main.runtime.js.map +1 -1
- package/dist/scope.ui-root.d.ts +3 -3
- package/dist/scope.ui-root.js.map +1 -1
- package/dist/scope.ui.drawer.d.ts +5 -4
- package/dist/scope.ui.drawer.js.map +1 -1
- package/dist/scope.ui.runtime.d.ts +17 -16
- package/dist/scope.ui.runtime.js.map +1 -1
- package/dist/staged-config.d.ts +4 -3
- package/dist/staged-config.js.map +1 -1
- package/dist/ui/menu/menu.d.ts +1 -1
- package/dist/ui/menu/menu.js.map +1 -1
- package/dist/ui/scope-overview/scope-overview.d.ts +4 -4
- package/dist/ui/scope-overview/scope-overview.js.map +1 -1
- package/dist/ui/scope.d.ts +2 -2
- package/dist/ui/scope.js.map +1 -1
- package/exceptions/component-not-found.ts +1 -1
- package/package.json +43 -43
- package/routes/action.route.ts +3 -2
- package/routes/delete.route.ts +3 -2
- package/routes/fetch.route.ts +4 -3
- package/routes/put.route.ts +3 -2
- package/run-action/run-action.cmd.ts +1 -1
- package/run-action/run-action.ts +2 -1
- package/scope.ui.drawer.tsx +6 -5
- package/scope.ui.runtime.tsx +23 -21
- package/ui/menu/menu.tsx +2 -1
- package/ui/scope-overview/scope-overview.tsx +5 -4
- package/ui/scope.tsx +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_componentUi","_uiFoundationUi","_lanesHooks","_lanesHooks2","_scopeUiHooks","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","scopeDrawer","treeWidgets","filtersSlot","drawerWidgetSlot","assumeScopeInUrl","overrideUseComponents","overrideUseLanes","useLanesFromProps","useLanes","defaultUseLanesHook","customScopeTreeNodeRenderer","treeNodeSlot","host","TreeNode","props","children","node","createElement","ComponentView","scopeName","name","payload","ScopePayload","scopeNameFromNode","id","slice","scope","ScopeTreeNode","Fragment","map","childNode","key","NamespaceTreeNode","ComponentsDrawer","order","plugins","tree","widgets","customRenderer","filters","drawerWidgets","useHost","useScope","emptyMessage","transformTree","rootNode","thisScopeIndex","findIndex","undefined","thisScope","concat","useComponents","lanesModel","loading","lanesLoading","viewedLaneId","viewedLane","components","laneComponents","laneCompsLoading","useLaneComponents","isDefault","mainComponents","useContext","ScopeContext","mergeComponents","exports","mainComponentsThatAreNotOnLane","filter","mainComponent","find","laneComponent","toStringWithoutVersion"],"sources":["scope.ui.drawer.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { ComponentsDrawer, ComponentFiltersSlot, DrawerWidgetSlot } from '@teambit/component.ui.component-drawer';\nimport { ComponentView, NamespaceTreeNode, ScopePayload, ScopeTreeNode } from '@teambit/ui-foundation.ui.side-bar';\nimport type { PayloadType } from '@teambit/ui-foundation.ui.side-bar';\nimport { TreeNode as TreeNodeType, TreeNodeProps } from '@teambit/design.ui.tree';\nimport { useLanes as defaultUseLanesHook } from '@teambit/lanes.hooks.use-lanes';\nimport { useLaneComponents } from '@teambit/lanes.hooks.use-lane-components';\nimport { ComponentModel } from '@teambit/component';\nimport { useScope, ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { SidebarSlot } from './scope.ui.runtime';\n\nexport type ScopeDrawerProps = {\n treeWidgets: SidebarSlot;\n filtersSlot: ComponentFiltersSlot;\n drawerWidgetSlot: DrawerWidgetSlot;\n assumeScopeInUrl?: boolean;\n overrideUseComponents?: () => { components: ComponentModel[] };\n overrideUseLanes?: () => { lanesModel?: LanesModel; loading?: boolean };\n};\n\nexport const scopeDrawer = ({\n treeWidgets,\n filtersSlot,\n drawerWidgetSlot,\n assumeScopeInUrl = false,\n overrideUseComponents,\n overrideUseLanes: useLanesFromProps,\n}: ScopeDrawerProps) => {\n const useLanes = useLanesFromProps || defaultUseLanesHook;\n\n const customScopeTreeNodeRenderer = (treeNodeSlot, host?: any) =>\n function TreeNode(props: TreeNodeProps<PayloadType>) {\n const children = props.node.children;\n\n if (!children) return <ComponentView {...props} treeNodeSlot={treeNodeSlot} scopeName={host?.name} />;\n\n // skip over scope node and render only children\n if (props.node.payload instanceof ScopePayload) {\n const scopeNameFromNode = props.node.id.slice(0, -1);\n const scope = host?.name;\n\n /**\n * this is only valid when viewing component from a lane\n * if the lane component is from a different scope than the current scope\n * show the scope node\n */\n if (scopeNameFromNode !== scope) {\n return <ScopeTreeNode {...props} />;\n }\n\n return (\n <>\n {children.map((childNode) => (\n <TreeNode key={childNode.id} {...props} node={childNode}></TreeNode>\n ))}\n </>\n );\n }\n\n return <NamespaceTreeNode {...props} />;\n };\n\n return new ComponentsDrawer({\n assumeScopeInUrl,\n order: 0,\n id: 'scope-components-drawer',\n name: 'COMPONENTS',\n plugins: {\n tree: {\n widgets: treeWidgets,\n customRenderer: customScopeTreeNodeRenderer,\n },\n filters: filtersSlot,\n drawerWidgets: drawerWidgetSlot,\n },\n useHost: () => useScope(),\n useLanes,\n emptyMessage: 'Scope is empty',\n // TODO: create an interface for Component host.\n transformTree: (host?: any) => {\n return (rootNode: TreeNodeType) => {\n const thisScopeIndex = rootNode.children?.findIndex((node) => {\n if (!(node.payload instanceof ScopePayload)) return undefined;\n const scopeNameFromNode = node.id.slice(0, -1);\n return scopeNameFromNode === host?.name;\n });\n\n const thisScope =\n rootNode.children && thisScopeIndex !== undefined ? rootNode.children[thisScopeIndex] : undefined;\n\n if (thisScope && thisScope.children && rootNode.children) {\n delete rootNode.children[thisScopeIndex as number];\n const children = rootNode.children.concat(thisScope.children);\n rootNode.children = children;\n }\n\n return rootNode;\n };\n },\n useComponents:\n overrideUseComponents ||\n (() => {\n const { lanesModel, loading: lanesLoading } = useLanes();\n const viewedLaneId = lanesModel?.viewedLane?.id;\n\n const { components: laneComponents = [], loading: laneCompsLoading } = useLaneComponents(\n viewedLaneId?.isDefault() ? undefined : viewedLaneId\n );\n const { components: mainComponents } = useContext(ScopeContext);\n // lane components + main components\n const components = mergeComponents(mainComponents, laneComponents);\n\n return {\n loading: lanesLoading || laneCompsLoading,\n components,\n };\n }),\n });\n};\n\nfunction mergeComponents(mainComponents: ComponentModel[], laneComponents: ComponentModel[]): ComponentModel[] {\n const mainComponentsThatAreNotOnLane = mainComponents.filter((mainComponent) => {\n return !laneComponents.find(\n (laneComponent) => laneComponent.id.toStringWithoutVersion() === mainComponent.id.toStringWithoutVersion()\n );\n });\n return laneComponents.concat(mainComponentsThatAreNotOnLane);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_componentUi","_uiFoundationUi","_lanesHooks","_lanesHooks2","_scopeUiHooks","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","scopeDrawer","treeWidgets","filtersSlot","drawerWidgetSlot","assumeScopeInUrl","overrideUseComponents","overrideUseLanes","useLanesFromProps","useLanes","defaultUseLanesHook","customScopeTreeNodeRenderer","treeNodeSlot","host","TreeNode","props","children","node","createElement","ComponentView","scopeName","name","payload","ScopePayload","scopeNameFromNode","id","slice","scope","ScopeTreeNode","Fragment","map","childNode","key","NamespaceTreeNode","ComponentsDrawer","order","plugins","tree","widgets","customRenderer","filters","drawerWidgets","useHost","useScope","emptyMessage","transformTree","rootNode","thisScopeIndex","findIndex","undefined","thisScope","concat","useComponents","lanesModel","loading","lanesLoading","viewedLaneId","viewedLane","components","laneComponents","laneCompsLoading","useLaneComponents","isDefault","mainComponents","useContext","ScopeContext","mergeComponents","exports","mainComponentsThatAreNotOnLane","filter","mainComponent","find","laneComponent","toStringWithoutVersion"],"sources":["scope.ui.drawer.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport type { ComponentFiltersSlot, DrawerWidgetSlot } from '@teambit/component.ui.component-drawer';\nimport { ComponentsDrawer } from '@teambit/component.ui.component-drawer';\nimport { ComponentView, NamespaceTreeNode, ScopePayload, ScopeTreeNode } from '@teambit/ui-foundation.ui.side-bar';\nimport type { PayloadType } from '@teambit/ui-foundation.ui.side-bar';\nimport type { TreeNode as TreeNodeType, TreeNodeProps } from '@teambit/design.ui.tree';\nimport { useLanes as defaultUseLanesHook } from '@teambit/lanes.hooks.use-lanes';\nimport { useLaneComponents } from '@teambit/lanes.hooks.use-lane-components';\nimport type { ComponentModel } from '@teambit/component';\nimport { useScope, ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport type { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport type { SidebarSlot } from './scope.ui.runtime';\n\nexport type ScopeDrawerProps = {\n treeWidgets: SidebarSlot;\n filtersSlot: ComponentFiltersSlot;\n drawerWidgetSlot: DrawerWidgetSlot;\n assumeScopeInUrl?: boolean;\n overrideUseComponents?: () => { components: ComponentModel[] };\n overrideUseLanes?: () => { lanesModel?: LanesModel; loading?: boolean };\n};\n\nexport const scopeDrawer = ({\n treeWidgets,\n filtersSlot,\n drawerWidgetSlot,\n assumeScopeInUrl = false,\n overrideUseComponents,\n overrideUseLanes: useLanesFromProps,\n}: ScopeDrawerProps) => {\n const useLanes = useLanesFromProps || defaultUseLanesHook;\n\n const customScopeTreeNodeRenderer = (treeNodeSlot, host?: any) =>\n function TreeNode(props: TreeNodeProps<PayloadType>) {\n const children = props.node.children;\n\n if (!children) return <ComponentView {...props} treeNodeSlot={treeNodeSlot} scopeName={host?.name} />;\n\n // skip over scope node and render only children\n if (props.node.payload instanceof ScopePayload) {\n const scopeNameFromNode = props.node.id.slice(0, -1);\n const scope = host?.name;\n\n /**\n * this is only valid when viewing component from a lane\n * if the lane component is from a different scope than the current scope\n * show the scope node\n */\n if (scopeNameFromNode !== scope) {\n return <ScopeTreeNode {...props} />;\n }\n\n return (\n <>\n {children.map((childNode) => (\n <TreeNode key={childNode.id} {...props} node={childNode}></TreeNode>\n ))}\n </>\n );\n }\n\n return <NamespaceTreeNode {...props} />;\n };\n\n return new ComponentsDrawer({\n assumeScopeInUrl,\n order: 0,\n id: 'scope-components-drawer',\n name: 'COMPONENTS',\n plugins: {\n tree: {\n widgets: treeWidgets,\n customRenderer: customScopeTreeNodeRenderer,\n },\n filters: filtersSlot,\n drawerWidgets: drawerWidgetSlot,\n },\n useHost: () => useScope(),\n useLanes,\n emptyMessage: 'Scope is empty',\n // TODO: create an interface for Component host.\n transformTree: (host?: any) => {\n return (rootNode: TreeNodeType) => {\n const thisScopeIndex = rootNode.children?.findIndex((node) => {\n if (!(node.payload instanceof ScopePayload)) return undefined;\n const scopeNameFromNode = node.id.slice(0, -1);\n return scopeNameFromNode === host?.name;\n });\n\n const thisScope =\n rootNode.children && thisScopeIndex !== undefined ? rootNode.children[thisScopeIndex] : undefined;\n\n if (thisScope && thisScope.children && rootNode.children) {\n delete rootNode.children[thisScopeIndex as number];\n const children = rootNode.children.concat(thisScope.children);\n rootNode.children = children;\n }\n\n return rootNode;\n };\n },\n useComponents:\n overrideUseComponents ||\n (() => {\n const { lanesModel, loading: lanesLoading } = useLanes();\n const viewedLaneId = lanesModel?.viewedLane?.id;\n\n const { components: laneComponents = [], loading: laneCompsLoading } = useLaneComponents(\n viewedLaneId?.isDefault() ? undefined : viewedLaneId\n );\n const { components: mainComponents } = useContext(ScopeContext);\n // lane components + main components\n const components = mergeComponents(mainComponents, laneComponents);\n\n return {\n loading: lanesLoading || laneCompsLoading,\n components,\n };\n }),\n });\n};\n\nfunction mergeComponents(mainComponents: ComponentModel[], laneComponents: ComponentModel[]): ComponentModel[] {\n const mainComponentsThatAreNotOnLane = mainComponents.filter((mainComponent) => {\n return !laneComponents.find(\n (laneComponent) => laneComponent.id.toStringWithoutVersion() === mainComponent.id.toStringWithoutVersion()\n );\n });\n return laneComponents.concat(mainComponentsThatAreNotOnLane);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import type { ComponentUI, ComponentModel } from '@teambit/component';
|
|
2
|
-
import { SlotRegistry } from '@teambit/harmony';
|
|
2
|
+
import type { SlotRegistry } from '@teambit/harmony';
|
|
3
3
|
import type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
|
|
4
|
-
import { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';
|
|
5
|
-
import { ComponentTreeNode } from '@teambit/component-tree';
|
|
6
|
-
import { UIRootUI as UIRoot, UiUI } from '@teambit/ui';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
4
|
+
import type { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';
|
|
5
|
+
import type { ComponentTreeNode } from '@teambit/component-tree';
|
|
6
|
+
import type { UIRootUI as UIRoot, UiUI } from '@teambit/ui';
|
|
7
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';
|
|
10
|
+
import type { RouteProps } from 'react-router-dom';
|
|
11
|
+
import type { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';
|
|
12
|
+
import type { CommandBarUI } from '@teambit/command-bar';
|
|
13
|
+
import type { ScopeModel } from '@teambit/scope.models.scope-model';
|
|
14
|
+
import type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
|
|
15
|
+
import type { LanesModel } from '@teambit/lanes.ui.models.lanes-model';
|
|
16
|
+
import type { DrawerWidgetSlot, ComponentFiltersSlot } from '@teambit/component.ui.component-drawer';
|
|
17
|
+
import type { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';
|
|
18
|
+
import type { ComponentUrlResolver } from '@teambit/component.modules.component-url';
|
|
19
|
+
import type { GetScopeOptions } from './get-scope-options';
|
|
19
20
|
export type ScopeBadge = ComponentType;
|
|
20
21
|
export type ScopeBadgeSlot = SlotRegistry<ScopeBadge[]>;
|
|
21
22
|
export type ContextSlot = SlotRegistry<ScopeContextType[]>;
|
|
@@ -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 type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport type { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { SidebarAspect } from '@teambit/sidebar';\nimport type { ComponentTreeNode } from '@teambit/component-tree';\nimport type { UIRootUI as UIRoot, UiUI } from '@teambit/ui';\nimport { UIAspect, UIRuntime } from '@teambit/ui';\nimport type { ComponentType, ReactNode } from 'react';\nimport React from 'react';\nimport type { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport type { RouteProps } from 'react-router-dom';\nimport type { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport type { CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { CommandBarAspect } from '@teambit/command-bar';\nimport type { ScopeModel } from '@teambit/scope.models.scope-model';\nimport type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport type { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport type { DrawerWidgetSlot, ComponentFiltersSlot } from '@teambit/component.ui.component-drawer';\nimport { FilterWidget, TreeToggleWidget } from '@teambit/component.ui.component-drawer';\nimport type { 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 type { ComponentUrlResolver } from '@teambit/component.modules.component-url';\nimport { 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 type { 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":[]}
|
package/dist/staged-config.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { ComponentIdObj } from '@teambit/component-id';
|
|
2
|
+
import { ComponentID } from '@teambit/component-id';
|
|
3
|
+
import type { LaneId } from '@teambit/lane-id';
|
|
4
|
+
import type { Logger } from '@teambit/logger';
|
|
4
5
|
type Config = Record<string, any> | undefined;
|
|
5
6
|
type ComponentConfig = {
|
|
6
7
|
id: ComponentID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_componentId","_laneId","_excluded","e","__esModule","default","_objectWithoutProperties","t","o","r","i","_objectWithoutPropertiesLoose","Object","getOwnPropertySymbols","n","length","indexOf","propertyIsEnumerable","call","hasOwnProperty","ownKeys","keys","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","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","err","code","toObject","_ref","rest","write","hasChanged","outputFile","JSON","stringify","getConfigPerId","find","c","isEqual","ignoreVersion","config","getPerId","getAll","isEmpty","deleteFile","debug","remove","addComponentConfig","componentMapObject","exists","removeComponentConfig","componentsConfigLengthBefore","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; componentMapObject: Record<string, any> };\ntype ComponentConfigObj = { id: ComponentIdObj; config: Config; componentMapObject: Record<string, any> };\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) => ({ ...item, id: ComponentID.fromObject(item.id) }));\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, ...rest }) => ({ id: id.toObject(), ...rest }));\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 getPerId(id: ComponentID): ComponentConfig | undefined {\n return this.componentsConfig.find((c) => c.id.isEqual(id, { ignoreVersion: true }));\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, componentMapObject: Record<string, any>) {\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, componentMapObject });\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","_excluded","e","__esModule","default","_objectWithoutProperties","t","o","r","i","_objectWithoutPropertiesLoose","Object","getOwnPropertySymbols","n","length","indexOf","propertyIsEnumerable","call","hasOwnProperty","ownKeys","keys","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","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","err","code","toObject","_ref","rest","write","hasChanged","outputFile","JSON","stringify","getConfigPerId","find","c","isEqual","ignoreVersion","config","getPerId","getAll","isEmpty","deleteFile","debug","remove","addComponentConfig","componentMapObject","exists","removeComponentConfig","componentsConfigLengthBefore","toString","exports"],"sources":["staged-config.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport type { ComponentIdObj } from '@teambit/component-id';\nimport { ComponentID } from '@teambit/component-id';\nimport type { LaneId } from '@teambit/lane-id';\nimport { DEFAULT_LANE } from '@teambit/lane-id';\nimport type { Logger } from '@teambit/logger';\n\nconst STAGED_CONFIG_DIR = 'staged-config';\n\ntype Config = Record<string, any> | undefined;\ntype ComponentConfig = { id: ComponentID; config: Config; componentMapObject: Record<string, any> };\ntype ComponentConfigObj = { id: ComponentIdObj; config: Config; componentMapObject: Record<string, any> };\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) => ({ ...item, id: ComponentID.fromObject(item.id) }));\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, ...rest }) => ({ id: id.toObject(), ...rest }));\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 getPerId(id: ComponentID): ComponentConfig | undefined {\n return this.componentsConfig.find((c) => c.id.isEqual(id, { ignoreVersion: true }));\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, componentMapObject: Record<string, any>) {\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, componentMapObject });\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/dist/ui/menu/menu.d.ts
CHANGED
package/dist/ui/menu/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uiFoundationUi","data","require","_scopeUiHooks","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_uiFoundationUiUseBox","_uiFoundationUiUseBox2","_menuModule","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ScopeMenu","_ref","className","rest","createElement","Menu","classNames","styles","scopMenu","ScopeUseBox","actionName","actionIcon","scope","useContext","ScopeContext","UseBoxDropdown","position","useBox","scopeName","name"],"sources":["menu.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["_uiFoundationUi","data","require","_scopeUiHooks","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_uiFoundationUiUseBox","_uiFoundationUiUseBox2","_menuModule","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ScopeMenu","_ref","className","rest","createElement","Menu","classNames","styles","scopMenu","ScopeUseBox","actionName","actionIcon","scope","useContext","ScopeContext","UseBoxDropdown","position","useBox","scopeName","name"],"sources":["menu.tsx"],"sourcesContent":["import type { MenuProps } from '@teambit/ui-foundation.ui.menu';\nimport { Menu } from '@teambit/ui-foundation.ui.menu';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport { UseBoxDropdown } from '@teambit/ui-foundation.ui.use-box.dropdown';\nimport { Menu as ScopeUseBoxMenu } from '@teambit/ui-foundation.ui.use-box.scope-menu';\nimport styles from './menu.module.scss';\n\n/**\n * scope menu.\n */\nexport function ScopeMenu({ className, ...rest }: MenuProps) {\n return <Menu {...rest} className={classNames(styles.scopMenu, className)} />;\n}\n\nexport type ScopeUseBoxProps = {\n actionName?: string;\n actionIcon?: string;\n};\n\nexport function ScopeUseBox({ actionName, actionIcon }: ScopeUseBoxProps) {\n const scope = useContext(ScopeContext);\n return (\n <UseBoxDropdown\n position=\"bottom-end\"\n className={styles.useBox}\n actionIcon={actionIcon}\n actionName={actionName}\n Menu={<ScopeUseBoxMenu scopeName={scope.name} />}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ComponentType } from 'react';
|
|
2
|
-
import { ScopeID } from '@teambit/scopes.scope-id';
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
import type { ScopeID } from '@teambit/scopes.scope-id';
|
|
3
3
|
import { type ComponentCardPluginType, type PluginProps } from '@teambit/explorer.ui.component-card';
|
|
4
|
-
import { ComponentModel } from '@teambit/component';
|
|
5
|
-
import { ComponentDescriptor } from '@teambit/component-descriptor';
|
|
4
|
+
import type { ComponentModel } from '@teambit/component';
|
|
5
|
+
import type { ComponentDescriptor } from '@teambit/component-descriptor';
|
|
6
6
|
import type { ScopeBadgeSlot, OverviewLineSlot } from '../../scope.ui.runtime';
|
|
7
7
|
export type ScopeOverviewProps = {
|
|
8
8
|
badgeSlot: ScopeBadgeSlot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_explorerUiGallery","_scopeUi","_previewUi","_scopeUi2","_designUi","_componentId","_explorerUi","_scopeUiHooks","_scopeOverviewModule","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LinkPlugin","link","id","fullName","exports","ScopeOverview","badgeSlot","overviewSlot","TargetOverview","scope","useContext","ScopeContext","components","componentDescriptors","createElement","length","EmptyScope","name","compDescriptorById","Map","map","comp","toString","compModelsById","plugins","useCardPlugins","className","styles","container","ScopeDetails","scopeName","icon","backgroundIconColor","description","componentCount","ComponentGrid","cardGrid","component","deprecation","isDeprecate","key","ScopeComponentCard","componentDescriptor","ComponentCard","React","useMemo","preview","Preview","compModel","PreviewPlaceholder","shouldShowPreview","compositions","previewBottomRight","PreviewBottomRight","env","envComponentId","ComponentID","fromString","undefined","rightPreviewPlugins","badge","Tooltip","delay","content","src","envIcon","size"],"sources":["scope-overview.tsx"],"sourcesContent":["import React, { useContext, ComponentType } from 'react';\nimport { ScopeID } from '@teambit/scopes.scope-id';\nimport { ComponentGrid } from '@teambit/explorer.ui.gallery.component-grid';\nimport { ScopeDetails } from '@teambit/scope.ui.scope-details';\nimport { PreviewPlaceholder } from '@teambit/preview.ui.preview-placeholder';\nimport { EmptyScope } from '@teambit/scope.ui.empty-scope';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { ComponentID } from '@teambit/component-id';\nimport { ComponentCard, type ComponentCardPluginType, type PluginProps } from '@teambit/explorer.ui.component-card';\nimport { ComponentModel } from '@teambit/component';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport { ComponentDescriptor } from '@teambit/component-descriptor';\nimport styles from './scope-overview.module.scss';\nimport type { ScopeBadgeSlot, OverviewLineSlot } from '../../scope.ui.runtime';\n\nexport type ScopeOverviewProps = {\n badgeSlot: ScopeBadgeSlot;\n overviewSlot: OverviewLineSlot;\n TargetOverview?: ComponentType;\n};\n\nexport class LinkPlugin {\n link(id) {\n return id.fullName;\n }\n}\n\nexport function ScopeOverview({ badgeSlot, overviewSlot, TargetOverview }: ScopeOverviewProps) {\n const scope = useContext(ScopeContext);\n const { components, componentDescriptors } = scope;\n if (TargetOverview) return <TargetOverview />;\n if (!components || components.length === 0) return <EmptyScope name={scope.name} />;\n const compDescriptorById = new Map(componentDescriptors.map((comp) => [comp.id.toString(), comp]));\n const compModelsById = new Map(components.map((comp) => [comp.id.toString(), comp]));\n const plugins = useCardPlugins({ compModelsById });\n\n return (\n <div className={styles.container}>\n <ScopeDetails\n scopeName={scope.name}\n icon={scope.icon}\n backgroundIconColor={scope.backgroundIconColor}\n badgeSlot={badgeSlot}\n overviewSlot={overviewSlot}\n description={scope.description}\n componentCount={scope.components.length}\n />\n <ComponentGrid className={styles.cardGrid}>\n {components.map((component) => {\n if (component.deprecation?.isDeprecate) return null;\n return (\n <div key={component.id.toString()}>\n <ScopeComponentCard\n component={component}\n plugins={plugins}\n componentDescriptor={compDescriptorById.get(component.id.toString())}\n />\n </div>\n );\n })}\n </ComponentGrid>\n </div>\n );\n}\n\ntype ScopeComponentCardProps = {\n component?: ComponentModel;\n componentDescriptor?: ComponentDescriptor;\n plugins?: ComponentCardPluginType<PluginProps>[];\n scope?: {\n icon?: string;\n backgroundIconColor?: string;\n id: ScopeID;\n };\n componentUrl?: string;\n};\n\nexport function ScopeComponentCard({ componentDescriptor, plugins }: ScopeComponentCardProps) {\n if (!componentDescriptor) return null;\n\n return <ComponentCard plugins={plugins} component={componentDescriptor} />;\n}\n\nexport function useCardPlugins({\n compModelsById,\n}: {\n compModelsById: Map<string, ComponentModel>;\n}): ComponentCardPluginType<PluginProps>[] {\n const plugins = React.useMemo(\n () => [\n {\n preview: function Preview({ component }) {\n const compModel = compModelsById.get(component.id.toString());\n if (!compModel) return null;\n return (\n <PreviewPlaceholder\n componentDescriptor={component}\n component={compModel}\n shouldShowPreview={compModel.compositions.length > 0}\n />\n );\n },\n },\n {\n previewBottomRight: function PreviewBottomRight({ component }) {\n const env = component.get('teambit.envs/envs');\n const envComponentId = env?.id ? ComponentID.fromString(env?.id) : undefined;\n\n return (\n <div className={styles.rightPreviewPlugins}>\n <div className={styles.badge}>\n <Tooltip delay={300} content={envComponentId?.name}>\n <img src={env?.icon} className={styles.envIcon} />\n </Tooltip>\n </div>\n </div>\n );\n },\n },\n new LinkPlugin(),\n ],\n [compModelsById.size]\n );\n\n return plugins;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_explorerUiGallery","_scopeUi","_previewUi","_scopeUi2","_designUi","_componentId","_explorerUi","_scopeUiHooks","_scopeOverviewModule","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LinkPlugin","link","id","fullName","exports","ScopeOverview","badgeSlot","overviewSlot","TargetOverview","scope","useContext","ScopeContext","components","componentDescriptors","createElement","length","EmptyScope","name","compDescriptorById","Map","map","comp","toString","compModelsById","plugins","useCardPlugins","className","styles","container","ScopeDetails","scopeName","icon","backgroundIconColor","description","componentCount","ComponentGrid","cardGrid","component","deprecation","isDeprecate","key","ScopeComponentCard","componentDescriptor","ComponentCard","React","useMemo","preview","Preview","compModel","PreviewPlaceholder","shouldShowPreview","compositions","previewBottomRight","PreviewBottomRight","env","envComponentId","ComponentID","fromString","undefined","rightPreviewPlugins","badge","Tooltip","delay","content","src","envIcon","size"],"sources":["scope-overview.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport React, { useContext } from 'react';\nimport type { ScopeID } from '@teambit/scopes.scope-id';\nimport { ComponentGrid } from '@teambit/explorer.ui.gallery.component-grid';\nimport { ScopeDetails } from '@teambit/scope.ui.scope-details';\nimport { PreviewPlaceholder } from '@teambit/preview.ui.preview-placeholder';\nimport { EmptyScope } from '@teambit/scope.ui.empty-scope';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { ComponentID } from '@teambit/component-id';\nimport { ComponentCard, type ComponentCardPluginType, type PluginProps } from '@teambit/explorer.ui.component-card';\nimport type { ComponentModel } from '@teambit/component';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport type { ComponentDescriptor } from '@teambit/component-descriptor';\nimport styles from './scope-overview.module.scss';\nimport type { ScopeBadgeSlot, OverviewLineSlot } from '../../scope.ui.runtime';\n\nexport type ScopeOverviewProps = {\n badgeSlot: ScopeBadgeSlot;\n overviewSlot: OverviewLineSlot;\n TargetOverview?: ComponentType;\n};\n\nexport class LinkPlugin {\n link(id) {\n return id.fullName;\n }\n}\n\nexport function ScopeOverview({ badgeSlot, overviewSlot, TargetOverview }: ScopeOverviewProps) {\n const scope = useContext(ScopeContext);\n const { components, componentDescriptors } = scope;\n if (TargetOverview) return <TargetOverview />;\n if (!components || components.length === 0) return <EmptyScope name={scope.name} />;\n const compDescriptorById = new Map(componentDescriptors.map((comp) => [comp.id.toString(), comp]));\n const compModelsById = new Map(components.map((comp) => [comp.id.toString(), comp]));\n const plugins = useCardPlugins({ compModelsById });\n\n return (\n <div className={styles.container}>\n <ScopeDetails\n scopeName={scope.name}\n icon={scope.icon}\n backgroundIconColor={scope.backgroundIconColor}\n badgeSlot={badgeSlot}\n overviewSlot={overviewSlot}\n description={scope.description}\n componentCount={scope.components.length}\n />\n <ComponentGrid className={styles.cardGrid}>\n {components.map((component) => {\n if (component.deprecation?.isDeprecate) return null;\n return (\n <div key={component.id.toString()}>\n <ScopeComponentCard\n component={component}\n plugins={plugins}\n componentDescriptor={compDescriptorById.get(component.id.toString())}\n />\n </div>\n );\n })}\n </ComponentGrid>\n </div>\n );\n}\n\ntype ScopeComponentCardProps = {\n component?: ComponentModel;\n componentDescriptor?: ComponentDescriptor;\n plugins?: ComponentCardPluginType<PluginProps>[];\n scope?: {\n icon?: string;\n backgroundIconColor?: string;\n id: ScopeID;\n };\n componentUrl?: string;\n};\n\nexport function ScopeComponentCard({ componentDescriptor, plugins }: ScopeComponentCardProps) {\n if (!componentDescriptor) return null;\n\n return <ComponentCard plugins={plugins} component={componentDescriptor} />;\n}\n\nexport function useCardPlugins({\n compModelsById,\n}: {\n compModelsById: Map<string, ComponentModel>;\n}): ComponentCardPluginType<PluginProps>[] {\n const plugins = React.useMemo(\n () => [\n {\n preview: function Preview({ component }) {\n const compModel = compModelsById.get(component.id.toString());\n if (!compModel) return null;\n return (\n <PreviewPlaceholder\n componentDescriptor={component}\n component={compModel}\n shouldShowPreview={compModel.compositions.length > 0}\n />\n );\n },\n },\n {\n previewBottomRight: function PreviewBottomRight({ component }) {\n const env = component.get('teambit.envs/envs');\n const envComponentId = env?.id ? ComponentID.fromString(env?.id) : undefined;\n\n return (\n <div className={styles.rightPreviewPlugins}>\n <div className={styles.badge}>\n <Tooltip delay={300} content={envComponentId?.name}>\n <img src={env?.icon} className={styles.envIcon} />\n </Tooltip>\n </div>\n </div>\n );\n },\n },\n new LinkPlugin(),\n ],\n [compModelsById.size]\n );\n\n return plugins;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/ui/scope.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ComponentType, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
2
|
import 'reset-css';
|
|
3
3
|
import type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
|
|
4
4
|
import type { ScopeModel } from '@teambit/scope.models.scope-model';
|
|
5
|
-
import { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';
|
|
5
|
+
import type { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';
|
|
6
6
|
export type ScopeProps = {
|
|
7
7
|
routeSlot: RouteSlot;
|
|
8
8
|
menuSlot: RouteSlot;
|
package/dist/ui/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_baseUiSurfacesSplitPane","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_baseUiUtils","_uiFoundationUi3","_reactRouterDom","_uiFoundationUiHooks","_scopeUiHooks","_scopeUiHooks2","_scopeOverview","_scopeModule","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Scope","routeSlot","menuSlot","sidebar","scopeUi","badgeSlot","overviewLineSlot","cornerSlot","PaneWrapper","context","paneClassName","TargetScopeOverview","TargetCorner","onSidebarTogglerChange","userUseScopeQuery","scopeClassName","scope","useScopeQuery","isMobile","useIsMobile","isSidebarOpen","handleSidebarToggle","useReducer","x","sidebarOpenness","Layout","row","right","createElement","FullLoader","CornerOverride","values","setComponents","components","Context","map","ctx","ScopeProvider","Composer","className","classNames","styles","TopBar","topbar","Corner","name","whiteCorner","menu","SplitPane","main","size","layout","Pane","collapsed","HoverSplitter","splitter","Collapser","isOpen","onMouseDown","stopPropagation","onClick","tooltipContent","PaneContainer","Wrapper","pane","SlotRouter","slot","Route","index","element","ScopeOverview","overviewSlot","TargetOverview","children"],"sources":["scope.tsx"],"sourcesContent":["import React, { useReducer, ComponentType, ReactNode } from 'react';\nimport 'reset-css';\nimport classNames from 'classnames';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport { Composer, ComponentTuple } from '@teambit/base-ui.utils.composer';\nimport { FullLoader } from '@teambit/ui-foundation.ui.full-loader';\nimport { Route } from 'react-router-dom';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { ScopeProvider } from '@teambit/scope.ui.hooks.scope-context';\nimport { useScopeQuery } from '@teambit/scope.ui.hooks.use-scope';\nimport type { ScopeModel } from '@teambit/scope.models.scope-model';\nimport { ScopeOverview } from './scope-overview';\nimport styles from './scope.module.scss';\nimport { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';\n\nexport type ScopeProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: JSX.Element;\n scopeUi: ScopeUI;\n badgeSlot: ScopeBadgeSlot;\n overviewLineSlot: OverviewLineSlot;\n cornerSlot: CornerSlot;\n context: ScopeContextType[];\n TargetScopeOverview?: ComponentType;\n userUseScopeQuery?: () => { scope: ScopeModel | undefined };\n onSidebarTogglerChange: (callback: () => void) => void;\n TargetCorner?: ComponentType;\n paneClassName?: string;\n scopeClassName?: string;\n PaneWrapper?: ComponentType<{ children: ReactNode }>;\n};\n\n/**\n * root component of the scope\n */\nexport function Scope({\n routeSlot,\n menuSlot,\n sidebar,\n scopeUi,\n badgeSlot,\n overviewLineSlot,\n cornerSlot,\n PaneWrapper,\n context = [],\n paneClassName,\n TargetScopeOverview,\n TargetCorner,\n onSidebarTogglerChange,\n userUseScopeQuery,\n scopeClassName,\n}: ScopeProps) {\n const { scope } = userUseScopeQuery ? userUseScopeQuery() : useScopeQuery();\n const isMobile = useIsMobile();\n const [isSidebarOpen, handleSidebarToggle] = useReducer((x) => !x, !isMobile);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n if (!scope) {\n return <FullLoader />;\n }\n const CornerOverride = TargetCorner || cornerSlot?.values()[0];\n scopeUi.setComponents(scope.components);\n const Context = context.map((ctx) => [ctx, { scope }] as ComponentTuple);\n\n onSidebarTogglerChange(handleSidebarToggle);\n\n return (\n <ScopeProvider scope={scope}>\n <Composer components={Context}>\n <div className={classNames(styles.scope, scopeClassName)}>\n <TopBar\n className={styles.topbar}\n Corner={() => {\n if (CornerOverride) return <CornerOverride />;\n return <Corner name={scope.name} className={styles.whiteCorner} />;\n }}\n // @ts-ignore - getting an error of \"Types have separate declarations of a private property 'registerFn'.\" for some reason after upgrading teambit.harmony/harmony from 0.4.6 to 0.4.7\n menu={menuSlot}\n />\n\n <SplitPane className={styles.main} size={264} layout={sidebarOpenness}>\n <Pane className={classNames(styles.sidebar, !isSidebarOpen && styles.collapsed)}>{sidebar}</Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n\n {\n /**\n * @hack - discuss with Ran why we need a PaneWrapper as a parent of the Pane\n * conditionally rendering it makes sure that it doesn't break the code tab layout\n */\n (PaneWrapper && (\n <PaneContainer Wrapper={PaneWrapper}>\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n </PaneContainer>\n )) || (\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n )\n }\n </SplitPane>\n </div>\n </Composer>\n </ScopeProvider>\n );\n}\n\nfunction PaneContainer({\n children,\n Wrapper,\n}: {\n children: ReactNode;\n Wrapper: ComponentType<{ children: ReactNode }>;\n}) {\n return <Wrapper>{children}</Wrapper>;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_baseUiSurfacesSplitPane","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_baseUiUtils","_uiFoundationUi3","_reactRouterDom","_uiFoundationUiHooks","_scopeUiHooks","_scopeUiHooks2","_scopeOverview","_scopeModule","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Scope","routeSlot","menuSlot","sidebar","scopeUi","badgeSlot","overviewLineSlot","cornerSlot","PaneWrapper","context","paneClassName","TargetScopeOverview","TargetCorner","onSidebarTogglerChange","userUseScopeQuery","scopeClassName","scope","useScopeQuery","isMobile","useIsMobile","isSidebarOpen","handleSidebarToggle","useReducer","x","sidebarOpenness","Layout","row","right","createElement","FullLoader","CornerOverride","values","setComponents","components","Context","map","ctx","ScopeProvider","Composer","className","classNames","styles","TopBar","topbar","Corner","name","whiteCorner","menu","SplitPane","main","size","layout","Pane","collapsed","HoverSplitter","splitter","Collapser","isOpen","onMouseDown","stopPropagation","onClick","tooltipContent","PaneContainer","Wrapper","pane","SlotRouter","slot","Route","index","element","ScopeOverview","overviewSlot","TargetOverview","children"],"sources":["scope.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react';\nimport React, { useReducer } from 'react';\nimport 'reset-css';\nimport classNames from 'classnames';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport type { ComponentTuple } from '@teambit/base-ui.utils.composer';\nimport { Composer } from '@teambit/base-ui.utils.composer';\nimport { FullLoader } from '@teambit/ui-foundation.ui.full-loader';\nimport { Route } from 'react-router-dom';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { ScopeProvider } from '@teambit/scope.ui.hooks.scope-context';\nimport { useScopeQuery } from '@teambit/scope.ui.hooks.use-scope';\nimport type { ScopeModel } from '@teambit/scope.models.scope-model';\nimport { ScopeOverview } from './scope-overview';\nimport styles from './scope.module.scss';\nimport type { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';\n\nexport type ScopeProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: JSX.Element;\n scopeUi: ScopeUI;\n badgeSlot: ScopeBadgeSlot;\n overviewLineSlot: OverviewLineSlot;\n cornerSlot: CornerSlot;\n context: ScopeContextType[];\n TargetScopeOverview?: ComponentType;\n userUseScopeQuery?: () => { scope: ScopeModel | undefined };\n onSidebarTogglerChange: (callback: () => void) => void;\n TargetCorner?: ComponentType;\n paneClassName?: string;\n scopeClassName?: string;\n PaneWrapper?: ComponentType<{ children: ReactNode }>;\n};\n\n/**\n * root component of the scope\n */\nexport function Scope({\n routeSlot,\n menuSlot,\n sidebar,\n scopeUi,\n badgeSlot,\n overviewLineSlot,\n cornerSlot,\n PaneWrapper,\n context = [],\n paneClassName,\n TargetScopeOverview,\n TargetCorner,\n onSidebarTogglerChange,\n userUseScopeQuery,\n scopeClassName,\n}: ScopeProps) {\n const { scope } = userUseScopeQuery ? userUseScopeQuery() : useScopeQuery();\n const isMobile = useIsMobile();\n const [isSidebarOpen, handleSidebarToggle] = useReducer((x) => !x, !isMobile);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n if (!scope) {\n return <FullLoader />;\n }\n const CornerOverride = TargetCorner || cornerSlot?.values()[0];\n scopeUi.setComponents(scope.components);\n const Context = context.map((ctx) => [ctx, { scope }] as ComponentTuple);\n\n onSidebarTogglerChange(handleSidebarToggle);\n\n return (\n <ScopeProvider scope={scope}>\n <Composer components={Context}>\n <div className={classNames(styles.scope, scopeClassName)}>\n <TopBar\n className={styles.topbar}\n Corner={() => {\n if (CornerOverride) return <CornerOverride />;\n return <Corner name={scope.name} className={styles.whiteCorner} />;\n }}\n // @ts-ignore - getting an error of \"Types have separate declarations of a private property 'registerFn'.\" for some reason after upgrading teambit.harmony/harmony from 0.4.6 to 0.4.7\n menu={menuSlot}\n />\n\n <SplitPane className={styles.main} size={264} layout={sidebarOpenness}>\n <Pane className={classNames(styles.sidebar, !isSidebarOpen && styles.collapsed)}>{sidebar}</Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n\n {\n /**\n * @hack - discuss with Ran why we need a PaneWrapper as a parent of the Pane\n * conditionally rendering it makes sure that it doesn't break the code tab layout\n */\n (PaneWrapper && (\n <PaneContainer Wrapper={PaneWrapper}>\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n </PaneContainer>\n )) || (\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n )\n }\n </SplitPane>\n </div>\n </Composer>\n </ScopeProvider>\n );\n}\n\nfunction PaneContainer({\n children,\n Wrapper,\n}: {\n children: ReactNode;\n Wrapper: ComponentType<{ children: ReactNode }>;\n}) {\n return <Wrapper>{children}</Wrapper>;\n}\n"],"mappings":"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","ignoreList":[]}
|