@teambit/lanes 1.0.563 → 1.0.564

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.
@@ -9,8 +9,8 @@ import { ComponentUI, ComponentID } from '@teambit/component';
9
9
  import { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';
10
10
  import { LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.lane-overview';
11
11
  import { LanesNavPlugin, LanesOrderedNavigationSlot } from '@teambit/lanes.ui.menus.lanes-overview-menu';
12
+ import { LanesModel } from '@teambit/lanes.ui.models.lanes-model';
12
13
  import { LanesProvider, IgnoreDerivingFromUrl } from '@teambit/lanes.hooks.use-lanes';
13
- import { LaneId } from '@teambit/lane-id';
14
14
  import { ComponentCompareUI } from '@teambit/component-compare';
15
15
  import { CommandBarUI } from '@teambit/command-bar';
16
16
  export type LaneCompareProps = Partial<DefaultLaneCompareProps>;
@@ -58,9 +58,9 @@ export declare class LanesUI {
58
58
  overrideComputeLaneUrl(fn: () => {
59
59
  prefix: string;
60
60
  path: string;
61
- getLaneIdFromPathname: (pathname: string) => LaneId | undefined;
62
- getLaneUrl: (laneId: LaneId, relative?: boolean) => string;
63
- getLaneComponentUrl: (componentId: ComponentID, laneId: LaneId) => string;
61
+ getLaneIdFromPathname: typeof LanesModel.getLaneIdFromPathname;
62
+ getLaneUrl: typeof LanesModel.getLaneUrl;
63
+ getLaneComponentUrl: typeof LanesModel.getLaneComponentUrl;
64
64
  }): void;
65
65
  getLaneComponent(): import("react/jsx-runtime").JSX.Element;
66
66
  getLaneComponentMenu(): import("react/jsx-runtime").JSX.Element;
@@ -299,11 +299,6 @@ class LanesUI {
299
299
  _lanesUiModels().LanesModel.getLaneUrl = getLaneUrl;
300
300
  _lanesUiModels().LanesModel.getLaneIdFromPathname = getLaneIdFromPathname;
301
301
  }
302
-
303
- // getLaneReadme() {
304
- // return <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />;
305
- // }
306
-
307
302
  getLaneComponent() {
308
303
  return this.componentUI.getComponentUI(this.host, {
309
304
  componentId: useComponentId,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_harmony","_lanesUiCompare","_ui","_designUiPages","_scope","_workspace","_component","_lanesUi","_lanesUiMenus","_uiFoundationUiReactRouter","_lanesUiMenus2","_lanesUiModels","_lanesHooks","_lanesUiNavigation","_lanesHooks2","_componentCompare","_lanesUiCompare2","_scopeUi","_commandBar","_lanes","_lanesUiModule","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","useComponentFilters","idFromLocation","useIdFromLocation","undefined","lanesModel","loading","useLanes","laneFromUrl","useViewedLaneFromUrl","laneComponentId","isDefault","resolveComponentFromUrl","log","head","version","useLaneComponentIdFromUrl","query","useQuery","componentVersion","compIdFromLocation","ComponentID","tryFromString","lanesComp","changeVersion","useComponentId","toString","LanesUI","constructor","componentUI","componentCompareUI","routeSlot","navSlot","menuWidgetSlot","overviewSlot","laneProviderIgnoreSlot","workspace","scope","children","ignoreFns","values","createElement","LanesProvider","ignoreDerivingFromUrl","props","tabs","base","compare","LaneCompare","host","hostAspect","lanesHost","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","Fragment","Route","lanePath","index","element","getLaneOverview","getLaneComponent","getLanesComparePage","NotFoundPage","overrideComputeLaneUrl","fn","prefix","getLaneComponentUrl","getLaneIdFromPathname","getLaneUrl","getComponentUI","componentId","getLaneComponentMenu","getMenu","LaneOverview","LaneComparePage","getLaneCompare","groupByScope","getLanesOverviewMenu","LanesOverviewMenu","navigationSlot","widgetSlot","registerMenuWidget","menuItems","register","registerLaneProviderIgnoreSlot","ignoreFn","registerLanesRoutes","registerNavigation","href","exact","order","hide","viewedLane","lanes","getLanesSwitcher","mainIcon","useContext","ScopeContext","ScopeIcon","size","scopeImage","icon","bgColor","backgroundIconColor","className","styles","mainLaneIcon","LanesSwitcher","LaneSwitcher","getLanesProvider","getUseLanes","registerLanesDropdown","registerSidebarLink","component","Gallery","weight","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","commandBarUI","_","harmony","config","lanesUi","registerRenderHooks","reactContext","renderContext","currentLane","UseLaneMenu","actionName","actionIcon","viewedLaneId","currentLaneId","CommandBarButton","exports","UIAspect","ComponentAspect","ComponentCompareAspect","CommandBarAspect","UIRuntime","Slot","withType","_default","LanesAspect","addRuntime"],"sources":["lanes.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode, useContext } from 'react';\nimport { Route, RouteProps } from 'react-router-dom';\nimport { Slot, Harmony, SlotRegistry } from '@teambit/harmony';\nimport { LaneCompare, type LaneCompareProps as DefaultLaneCompareProps } from '@teambit/lanes.ui.compare.lane-compare';\nimport { UIRuntime, UiUI, UIAspect } from '@teambit/ui';\nimport type { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { NotFoundPage } from '@teambit/design.ui.pages.not-found';\nimport { ScopeAspect, ScopeContext, ScopeUI } from '@teambit/scope';\nimport { WorkspaceAspect, WorkspaceUI } from '@teambit/workspace';\nimport { ComponentAspect, ComponentUI, useIdFromLocation, ComponentID } from '@teambit/component';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { LaneOverview, LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.lane-overview';\nimport {\n LanesNavPlugin,\n LanesOrderedNavigationSlot,\n LanesOverviewMenu,\n} from '@teambit/lanes.ui.menus.lanes-overview-menu';\nimport { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { UseLaneMenu } from '@teambit/lanes.ui.menus.use-lanes-menu';\nimport { LanesHost, LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { LanesProvider, useLanes, IgnoreDerivingFromUrl } from '@teambit/lanes.hooks.use-lanes';\nimport { LaneSwitcher } from '@teambit/lanes.ui.navigation.lane-switcher';\nimport { LaneId } from '@teambit/lane-id';\nimport { useViewedLaneFromUrl } from '@teambit/lanes.hooks.use-viewed-lane-from-url';\nimport { ComponentCompareAspect, ComponentCompareUI } from '@teambit/component-compare';\nimport { LaneComparePage } from '@teambit/lanes.ui.compare.lane-compare-page';\nimport { ScopeIcon } from '@teambit/scope.ui.scope-icon';\nimport { CommandBarUI, CommandBarAspect } from '@teambit/command-bar';\n\nimport { LanesAspect } from './lanes.aspect';\nimport styles from './lanes.ui.module.scss';\n\nexport type LaneCompareProps = Partial<DefaultLaneCompareProps>;\nexport type LaneProviderIgnoreSlot = SlotRegistry<IgnoreDerivingFromUrl>;\nexport function useComponentFilters() {\n const idFromLocation = useIdFromLocation(undefined, true);\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const laneComponentId =\n idFromLocation && !laneFromUrl?.isDefault()\n ? (lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) ?? null)\n : null;\n\n if (laneComponentId === null || loading) {\n return {\n loading: true,\n };\n }\n\n return {\n loading: false,\n log: {\n head: laneComponentId.version,\n },\n };\n}\n\nexport function useLaneComponentIdFromUrl(): ComponentID | undefined | null {\n const idFromLocation = useIdFromLocation(undefined, true);\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const query = useQuery();\n const componentVersion = query.get('version');\n\n if (!idFromLocation) return null;\n\n const compIdFromLocation = ComponentID.tryFromString(\n `${idFromLocation}${componentVersion ? `@${componentVersion}` : ''}`\n );\n\n if (compIdFromLocation) return compIdFromLocation;\n if (loading) return undefined;\n\n const lanesComp = (lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) as any | undefined) ?? null;\n\n if (componentVersion) {\n return lanesComp?.changeVersion(componentVersion);\n }\n\n return lanesComp;\n}\n\nexport function useComponentId() {\n return useLaneComponentIdFromUrl()?.toString();\n}\n\nexport class LanesUI {\n static dependencies = [\n UIAspect,\n ComponentAspect,\n WorkspaceAspect,\n ScopeAspect,\n ComponentCompareAspect,\n CommandBarAspect,\n ];\n\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<LaneOverviewLineSlot>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<MenuWidgetSlot>(),\n Slot.withType<LaneProviderIgnoreSlot>(),\n ];\n\n constructor(\n private componentUI: ComponentUI,\n private componentCompareUI: ComponentCompareUI,\n private routeSlot: RouteSlot,\n private navSlot: LanesOrderedNavigationSlot,\n private menuWidgetSlot: MenuWidgetSlot,\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: LaneOverviewLineSlot,\n private laneProviderIgnoreSlot: LaneProviderIgnoreSlot,\n private workspace?: WorkspaceUI,\n private scope?: ScopeUI\n ) {\n this.hostAspect = workspace || scope;\n this.lanesHost = workspace ? 'workspace' : 'scope';\n this.host = workspace ? WorkspaceAspect.id : ScopeAspect.id;\n }\n\n private readonly lanesHost: LanesHost;\n private readonly hostAspect?: WorkspaceUI | ScopeUI;\n private readonly host: string;\n\n private registerHostAspectRoutes() {\n if (!this.hostAspect) return;\n this.hostAspect.registerRoutes(this.getLaneRoutes());\n this.hostAspect.registerMenuRoutes(this.getMenuRoutes());\n }\n\n getLaneRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <>\n <Route path={LanesModel.lanePath}>\n <Route index element={this.getLaneOverview()} />\n <Route path=\"~component/*\" element={this.getLaneComponent()} />\n <Route path=\"~compare/*\" element={this.getLanesComparePage()} />\n <Route path=\"*\" element={<NotFoundPage />} />\n </Route>\n <Route path=\"*\" element={<NotFoundPage />} />\n </>\n ),\n },\n ];\n }\n\n overrideComputeLaneUrl(\n fn: () => {\n prefix: string;\n path: string;\n getLaneIdFromPathname: (pathname: string) => LaneId | undefined;\n getLaneUrl: (laneId: LaneId, relative?: boolean) => string;\n getLaneComponentUrl: (componentId: ComponentID, laneId: LaneId) => string;\n }\n ) {\n const { prefix, path, getLaneComponentUrl, getLaneIdFromPathname, getLaneUrl } = fn();\n LanesModel.lanesPrefix = prefix;\n LanesModel.lanePath = path;\n LanesModel.getLaneComponentUrl = getLaneComponentUrl as any;\n LanesModel.getLaneUrl = getLaneUrl;\n LanesModel.getLaneIdFromPathname = getLaneIdFromPathname;\n }\n\n // getLaneReadme() {\n // return <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />;\n // }\n\n getLaneComponent() {\n return this.componentUI.getComponentUI(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneComponentMenu() {\n return this.componentUI.getMenu(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneOverview() {\n return (\n <LaneOverview\n routeSlot={this.routeSlot}\n overviewSlot={this.overviewSlot}\n host={this.lanesHost}\n useLanes={useLanes}\n />\n );\n }\n\n getLanesComparePage() {\n return <LaneComparePage getLaneCompare={this.getLaneCompare} groupByScope={this.lanesHost === 'workspace'} />;\n }\n\n getMenuRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <Route path={`${LanesModel.lanePath}/*`}>\n <Route path={'*'} element={this.getLanesOverviewMenu()} />\n <Route path=\"~component/*\" element={this.getLaneComponentMenu()} />\n </Route>\n ),\n },\n ];\n }\n\n getLanesOverviewMenu() {\n return <LanesOverviewMenu navigationSlot={this.navSlot} widgetSlot={this.menuWidgetSlot} />;\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n return this;\n }\n\n registerLaneProviderIgnoreSlot(ignoreFn: IgnoreDerivingFromUrl) {\n this.laneProviderIgnoreSlot.register(ignoreFn);\n return this;\n }\n\n private registerLanesRoutes() {\n this.registerNavigation([\n // {\n // props: {\n // href: '.',\n // exact: true,\n // children: 'README',\n // },\n // order: 1,\n // hide: () => {\n // const { lanesModel } = useLanes();\n // return !lanesModel?.viewedLane?.readmeComponent;\n // },\n // },\n {\n props: {\n href: '.',\n exact: true,\n children: 'Overview',\n },\n order: 1,\n },\n {\n props: {\n href: '~compare',\n children: 'Compare',\n },\n order: 2,\n hide: () => {\n const { lanesModel } = useLanes();\n return !lanesModel?.viewedLane || lanesModel?.lanes.length < 2;\n },\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n getLanesSwitcher() {\n const mainIcon = () => {\n const scope = useContext(ScopeContext);\n return (\n <ScopeIcon\n size={24}\n scopeImage={scope.icon}\n bgColor={scope.backgroundIconColor}\n className={styles.mainLaneIcon}\n />\n );\n };\n\n const LanesSwitcher = (\n <LaneSwitcher\n groupByScope={this.lanesHost === 'workspace'}\n mainIcon={this.lanesHost === 'scope' ? mainIcon : undefined}\n // @ts-ignore @todo - fix this\n useLanes={useLanes}\n />\n );\n\n return LanesSwitcher;\n }\n\n getLanesProvider() {\n return LanesProvider;\n }\n\n getUseLanes() {\n return useLanes;\n }\n\n private registerLanesDropdown() {\n const LanesSwitcher = this.getLanesSwitcher();\n\n this.hostAspect?.registerSidebarLink({\n component: function Gallery() {\n return LanesSwitcher;\n },\n weight: 1000,\n });\n }\n\n private renderContext = ({ children }: { children: ReactNode }) => {\n const ignoreFns = this.laneProviderIgnoreSlot.values();\n\n return <LanesProvider ignoreDerivingFromUrl={ignoreFns}>{children}</LanesProvider>;\n };\n\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n /**\n * register a new line beneath the lane overview section.\n */\n registerOverviewLine(...lines: LaneOverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n registerNavigation(routes: LanesNavPlugin[]) {\n this.navSlot.register(routes);\n }\n\n getLaneCompare = (props: LaneCompareProps) => {\n const tabs = this.componentCompareUI.tabs;\n\n if (!props.base || !props.compare) return null;\n\n return (\n <LaneCompare\n {...props}\n base={props.base}\n compare={props.compare}\n host={props.host || this.host}\n tabs={props.tabs || tabs}\n />\n );\n };\n\n static async provider(\n [uiUi, componentUI, workspaceUi, scopeUi, componentCompareUI, commandBarUI]: [\n UiUI,\n ComponentUI,\n WorkspaceUI,\n ScopeUI,\n ComponentCompareUI,\n CommandBarUI,\n ],\n _,\n [routeSlot, overviewSlot, navSlot, menuWidgetSlot, laneProviderIgnoreSlot]: [\n RouteSlot,\n LaneOverviewLineSlot,\n LanesOrderedNavigationSlot,\n MenuWidgetSlot,\n LaneProviderIgnoreSlot,\n ],\n harmony: Harmony\n ) {\n const { config } = harmony;\n const host = String(config.get('teambit.harmony/bit'));\n let workspace: WorkspaceUI | undefined;\n let scope: ScopeUI | undefined;\n if (host === WorkspaceAspect.id) {\n workspace = workspaceUi;\n }\n if (host === ScopeAspect.id) {\n scope = scopeUi;\n }\n const lanesUi = new LanesUI(\n componentUI,\n componentCompareUI,\n routeSlot,\n navSlot,\n menuWidgetSlot,\n overviewSlot,\n laneProviderIgnoreSlot,\n workspace,\n scope\n );\n if (uiUi) uiUi.registerRenderHooks({ reactContext: lanesUi.renderContext });\n lanesUi.registerRoutes();\n lanesUi.registerMenuWidget(() => {\n const { lanesModel } = useLanes();\n if (!lanesModel?.viewedLane) return null;\n const { viewedLane, currentLane } = lanesModel;\n return (\n <UseLaneMenu\n actionName={'Import'}\n actionIcon={'terminal'}\n host={lanesUi.lanesHost}\n viewedLaneId={viewedLane.id}\n currentLaneId={currentLane?.id}\n />\n );\n });\n lanesUi.registerLanesDropdown();\n if (workspace) {\n lanesUi.registerMenuWidget(commandBarUI.CommandBarButton);\n }\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_harmony","_lanesUiCompare","_ui","_designUiPages","_scope","_workspace","_component","_lanesUi","_lanesUiMenus","_uiFoundationUiReactRouter","_lanesUiMenus2","_lanesUiModels","_lanesHooks","_lanesUiNavigation","_lanesHooks2","_componentCompare","_lanesUiCompare2","_scopeUi","_commandBar","_lanes","_lanesUiModule","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","useComponentFilters","idFromLocation","useIdFromLocation","undefined","lanesModel","loading","useLanes","laneFromUrl","useViewedLaneFromUrl","laneComponentId","isDefault","resolveComponentFromUrl","log","head","version","useLaneComponentIdFromUrl","query","useQuery","componentVersion","compIdFromLocation","ComponentID","tryFromString","lanesComp","changeVersion","useComponentId","toString","LanesUI","constructor","componentUI","componentCompareUI","routeSlot","navSlot","menuWidgetSlot","overviewSlot","laneProviderIgnoreSlot","workspace","scope","children","ignoreFns","values","createElement","LanesProvider","ignoreDerivingFromUrl","props","tabs","base","compare","LaneCompare","host","hostAspect","lanesHost","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","Fragment","Route","lanePath","index","element","getLaneOverview","getLaneComponent","getLanesComparePage","NotFoundPage","overrideComputeLaneUrl","fn","prefix","getLaneComponentUrl","getLaneIdFromPathname","getLaneUrl","getComponentUI","componentId","getLaneComponentMenu","getMenu","LaneOverview","LaneComparePage","getLaneCompare","groupByScope","getLanesOverviewMenu","LanesOverviewMenu","navigationSlot","widgetSlot","registerMenuWidget","menuItems","register","registerLaneProviderIgnoreSlot","ignoreFn","registerLanesRoutes","registerNavigation","href","exact","order","hide","viewedLane","lanes","getLanesSwitcher","mainIcon","useContext","ScopeContext","ScopeIcon","size","scopeImage","icon","bgColor","backgroundIconColor","className","styles","mainLaneIcon","LanesSwitcher","LaneSwitcher","getLanesProvider","getUseLanes","registerLanesDropdown","registerSidebarLink","component","Gallery","weight","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","commandBarUI","_","harmony","config","lanesUi","registerRenderHooks","reactContext","renderContext","currentLane","UseLaneMenu","actionName","actionIcon","viewedLaneId","currentLaneId","CommandBarButton","exports","UIAspect","ComponentAspect","ComponentCompareAspect","CommandBarAspect","UIRuntime","Slot","withType","_default","LanesAspect","addRuntime"],"sources":["lanes.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode, useContext } from 'react';\nimport { Route, RouteProps } from 'react-router-dom';\nimport { Slot, Harmony, SlotRegistry } from '@teambit/harmony';\nimport { LaneCompare, type LaneCompareProps as DefaultLaneCompareProps } from '@teambit/lanes.ui.compare.lane-compare';\nimport { UIRuntime, UiUI, UIAspect } from '@teambit/ui';\nimport type { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { NotFoundPage } from '@teambit/design.ui.pages.not-found';\nimport { ScopeAspect, ScopeContext, ScopeUI } from '@teambit/scope';\nimport { WorkspaceAspect, WorkspaceUI } from '@teambit/workspace';\nimport { ComponentAspect, ComponentUI, useIdFromLocation, ComponentID } from '@teambit/component';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { LaneOverview, LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.lane-overview';\nimport {\n LanesNavPlugin,\n LanesOrderedNavigationSlot,\n LanesOverviewMenu,\n} from '@teambit/lanes.ui.menus.lanes-overview-menu';\nimport { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { UseLaneMenu } from '@teambit/lanes.ui.menus.use-lanes-menu';\nimport { LanesHost, LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { LanesProvider, useLanes, IgnoreDerivingFromUrl } from '@teambit/lanes.hooks.use-lanes';\nimport { LaneSwitcher } from '@teambit/lanes.ui.navigation.lane-switcher';\nimport { useViewedLaneFromUrl } from '@teambit/lanes.hooks.use-viewed-lane-from-url';\nimport { ComponentCompareAspect, ComponentCompareUI } from '@teambit/component-compare';\nimport { LaneComparePage } from '@teambit/lanes.ui.compare.lane-compare-page';\nimport { ScopeIcon } from '@teambit/scope.ui.scope-icon';\nimport { CommandBarUI, CommandBarAspect } from '@teambit/command-bar';\n\nimport { LanesAspect } from './lanes.aspect';\nimport styles from './lanes.ui.module.scss';\n\nexport type LaneCompareProps = Partial<DefaultLaneCompareProps>;\nexport type LaneProviderIgnoreSlot = SlotRegistry<IgnoreDerivingFromUrl>;\nexport function useComponentFilters() {\n const idFromLocation = useIdFromLocation(undefined, true);\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const laneComponentId =\n idFromLocation && !laneFromUrl?.isDefault()\n ? (lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) ?? null)\n : null;\n\n if (laneComponentId === null || loading) {\n return {\n loading: true,\n };\n }\n\n return {\n loading: false,\n log: {\n head: laneComponentId.version,\n },\n };\n}\n\nexport function useLaneComponentIdFromUrl(): ComponentID | undefined | null {\n const idFromLocation = useIdFromLocation(undefined, true);\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const query = useQuery();\n const componentVersion = query.get('version');\n\n if (!idFromLocation) return null;\n\n const compIdFromLocation = ComponentID.tryFromString(\n `${idFromLocation}${componentVersion ? `@${componentVersion}` : ''}`\n );\n\n if (compIdFromLocation) return compIdFromLocation;\n if (loading) return undefined;\n\n const lanesComp = (lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) as any | undefined) ?? null;\n\n if (componentVersion) {\n return lanesComp?.changeVersion(componentVersion);\n }\n\n return lanesComp;\n}\n\nexport function useComponentId() {\n return useLaneComponentIdFromUrl()?.toString();\n}\n\nexport class LanesUI {\n static dependencies = [\n UIAspect,\n ComponentAspect,\n WorkspaceAspect,\n ScopeAspect,\n ComponentCompareAspect,\n CommandBarAspect,\n ];\n\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<LaneOverviewLineSlot>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<MenuWidgetSlot>(),\n Slot.withType<LaneProviderIgnoreSlot>(),\n ];\n\n constructor(\n private componentUI: ComponentUI,\n private componentCompareUI: ComponentCompareUI,\n private routeSlot: RouteSlot,\n private navSlot: LanesOrderedNavigationSlot,\n private menuWidgetSlot: MenuWidgetSlot,\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: LaneOverviewLineSlot,\n private laneProviderIgnoreSlot: LaneProviderIgnoreSlot,\n private workspace?: WorkspaceUI,\n private scope?: ScopeUI\n ) {\n this.hostAspect = workspace || scope;\n this.lanesHost = workspace ? 'workspace' : 'scope';\n this.host = workspace ? WorkspaceAspect.id : ScopeAspect.id;\n }\n\n private readonly lanesHost: LanesHost;\n private readonly hostAspect?: WorkspaceUI | ScopeUI;\n private readonly host: string;\n\n private registerHostAspectRoutes() {\n if (!this.hostAspect) return;\n this.hostAspect.registerRoutes(this.getLaneRoutes());\n this.hostAspect.registerMenuRoutes(this.getMenuRoutes());\n }\n\n getLaneRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <>\n <Route path={LanesModel.lanePath}>\n <Route index element={this.getLaneOverview()} />\n <Route path=\"~component/*\" element={this.getLaneComponent()} />\n <Route path=\"~compare/*\" element={this.getLanesComparePage()} />\n <Route path=\"*\" element={<NotFoundPage />} />\n </Route>\n <Route path=\"*\" element={<NotFoundPage />} />\n </>\n ),\n },\n ];\n }\n\n overrideComputeLaneUrl(\n fn: () => {\n prefix: string;\n path: string;\n getLaneIdFromPathname: typeof LanesModel.getLaneIdFromPathname;\n getLaneUrl: typeof LanesModel.getLaneUrl;\n getLaneComponentUrl: typeof LanesModel.getLaneComponentUrl;\n }\n ) {\n const { prefix, path, getLaneComponentUrl, getLaneIdFromPathname, getLaneUrl } = fn();\n LanesModel.lanesPrefix = prefix;\n LanesModel.lanePath = path;\n LanesModel.getLaneComponentUrl = getLaneComponentUrl;\n LanesModel.getLaneUrl = getLaneUrl;\n LanesModel.getLaneIdFromPathname = getLaneIdFromPathname;\n }\n\n getLaneComponent() {\n return this.componentUI.getComponentUI(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneComponentMenu() {\n return this.componentUI.getMenu(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneOverview() {\n return (\n <LaneOverview\n routeSlot={this.routeSlot}\n overviewSlot={this.overviewSlot}\n host={this.lanesHost}\n useLanes={useLanes}\n />\n );\n }\n\n getLanesComparePage() {\n return <LaneComparePage getLaneCompare={this.getLaneCompare} groupByScope={this.lanesHost === 'workspace'} />;\n }\n\n getMenuRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <Route path={`${LanesModel.lanePath}/*`}>\n <Route path={'*'} element={this.getLanesOverviewMenu()} />\n <Route path=\"~component/*\" element={this.getLaneComponentMenu()} />\n </Route>\n ),\n },\n ];\n }\n\n getLanesOverviewMenu() {\n return <LanesOverviewMenu navigationSlot={this.navSlot} widgetSlot={this.menuWidgetSlot} />;\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n return this;\n }\n\n registerLaneProviderIgnoreSlot(ignoreFn: IgnoreDerivingFromUrl) {\n this.laneProviderIgnoreSlot.register(ignoreFn);\n return this;\n }\n\n private registerLanesRoutes() {\n this.registerNavigation([\n // {\n // props: {\n // href: '.',\n // exact: true,\n // children: 'README',\n // },\n // order: 1,\n // hide: () => {\n // const { lanesModel } = useLanes();\n // return !lanesModel?.viewedLane?.readmeComponent;\n // },\n // },\n {\n props: {\n href: '.',\n exact: true,\n children: 'Overview',\n },\n order: 1,\n },\n {\n props: {\n href: '~compare',\n children: 'Compare',\n },\n order: 2,\n hide: () => {\n const { lanesModel } = useLanes();\n return !lanesModel?.viewedLane || lanesModel?.lanes.length < 2;\n },\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n getLanesSwitcher() {\n const mainIcon = () => {\n const scope = useContext(ScopeContext);\n return (\n <ScopeIcon\n size={24}\n scopeImage={scope.icon}\n bgColor={scope.backgroundIconColor}\n className={styles.mainLaneIcon}\n />\n );\n };\n\n const LanesSwitcher = (\n <LaneSwitcher\n groupByScope={this.lanesHost === 'workspace'}\n mainIcon={this.lanesHost === 'scope' ? mainIcon : undefined}\n // @ts-ignore @todo - fix this\n useLanes={useLanes}\n />\n );\n\n return LanesSwitcher;\n }\n\n getLanesProvider() {\n return LanesProvider;\n }\n\n getUseLanes() {\n return useLanes;\n }\n\n private registerLanesDropdown() {\n const LanesSwitcher = this.getLanesSwitcher();\n\n this.hostAspect?.registerSidebarLink({\n component: function Gallery() {\n return LanesSwitcher;\n },\n weight: 1000,\n });\n }\n\n private renderContext = ({ children }: { children: ReactNode }) => {\n const ignoreFns = this.laneProviderIgnoreSlot.values();\n\n return <LanesProvider ignoreDerivingFromUrl={ignoreFns}>{children}</LanesProvider>;\n };\n\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n /**\n * register a new line beneath the lane overview section.\n */\n registerOverviewLine(...lines: LaneOverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n registerNavigation(routes: LanesNavPlugin[]) {\n this.navSlot.register(routes);\n }\n\n getLaneCompare = (props: LaneCompareProps) => {\n const tabs = this.componentCompareUI.tabs;\n\n if (!props.base || !props.compare) return null;\n\n return (\n <LaneCompare\n {...props}\n base={props.base}\n compare={props.compare}\n host={props.host || this.host}\n tabs={props.tabs || tabs}\n />\n );\n };\n\n static async provider(\n [uiUi, componentUI, workspaceUi, scopeUi, componentCompareUI, commandBarUI]: [\n UiUI,\n ComponentUI,\n WorkspaceUI,\n ScopeUI,\n ComponentCompareUI,\n CommandBarUI,\n ],\n _,\n [routeSlot, overviewSlot, navSlot, menuWidgetSlot, laneProviderIgnoreSlot]: [\n RouteSlot,\n LaneOverviewLineSlot,\n LanesOrderedNavigationSlot,\n MenuWidgetSlot,\n LaneProviderIgnoreSlot,\n ],\n harmony: Harmony\n ) {\n const { config } = harmony;\n const host = String(config.get('teambit.harmony/bit'));\n let workspace: WorkspaceUI | undefined;\n let scope: ScopeUI | undefined;\n if (host === WorkspaceAspect.id) {\n workspace = workspaceUi;\n }\n if (host === ScopeAspect.id) {\n scope = scopeUi;\n }\n const lanesUi = new LanesUI(\n componentUI,\n componentCompareUI,\n routeSlot,\n navSlot,\n menuWidgetSlot,\n overviewSlot,\n laneProviderIgnoreSlot,\n workspace,\n scope\n );\n if (uiUi) uiUi.registerRenderHooks({ reactContext: lanesUi.renderContext });\n lanesUi.registerRoutes();\n lanesUi.registerMenuWidget(() => {\n const { lanesModel } = useLanes();\n if (!lanesModel?.viewedLane) return null;\n const { viewedLane, currentLane } = lanesModel;\n return (\n <UseLaneMenu\n actionName={'Import'}\n actionIcon={'terminal'}\n host={lanesUi.lanesHost}\n viewedLaneId={viewedLane.id}\n currentLaneId={currentLane?.id}\n />\n );\n });\n lanesUi.registerLanesDropdown();\n if (workspace) {\n lanesUi.registerMenuWidget(commandBarUI.CommandBarButton);\n }\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.563/dist/lanes.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.563/dist/lanes.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.564/dist/lanes.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.564/dist/lanes.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -20,7 +20,6 @@ import { UseLaneMenu } from '@teambit/lanes.ui.menus.use-lanes-menu';
20
20
  import { LanesHost, LanesModel } from '@teambit/lanes.ui.models.lanes-model';
21
21
  import { LanesProvider, useLanes, IgnoreDerivingFromUrl } from '@teambit/lanes.hooks.use-lanes';
22
22
  import { LaneSwitcher } from '@teambit/lanes.ui.navigation.lane-switcher';
23
- import { LaneId } from '@teambit/lane-id';
24
23
  import { useViewedLaneFromUrl } from '@teambit/lanes.hooks.use-viewed-lane-from-url';
25
24
  import { ComponentCompareAspect, ComponentCompareUI } from '@teambit/component-compare';
26
25
  import { LaneComparePage } from '@teambit/lanes.ui.compare.lane-compare-page';
@@ -155,23 +154,19 @@ export class LanesUI {
155
154
  fn: () => {
156
155
  prefix: string;
157
156
  path: string;
158
- getLaneIdFromPathname: (pathname: string) => LaneId | undefined;
159
- getLaneUrl: (laneId: LaneId, relative?: boolean) => string;
160
- getLaneComponentUrl: (componentId: ComponentID, laneId: LaneId) => string;
157
+ getLaneIdFromPathname: typeof LanesModel.getLaneIdFromPathname;
158
+ getLaneUrl: typeof LanesModel.getLaneUrl;
159
+ getLaneComponentUrl: typeof LanesModel.getLaneComponentUrl;
161
160
  }
162
161
  ) {
163
162
  const { prefix, path, getLaneComponentUrl, getLaneIdFromPathname, getLaneUrl } = fn();
164
163
  LanesModel.lanesPrefix = prefix;
165
164
  LanesModel.lanePath = path;
166
- LanesModel.getLaneComponentUrl = getLaneComponentUrl as any;
165
+ LanesModel.getLaneComponentUrl = getLaneComponentUrl;
167
166
  LanesModel.getLaneUrl = getLaneUrl;
168
167
  LanesModel.getLaneIdFromPathname = getLaneIdFromPathname;
169
168
  }
170
169
 
171
- // getLaneReadme() {
172
- // return <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />;
173
- // }
174
-
175
170
  getLaneComponent() {
176
171
  return this.componentUI.getComponentUI(this.host, {
177
172
  componentId: useComponentId,
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "1.0.563",
3
+ "version": "1.0.564",
4
4
  "homepage": "https://bit.cloud/teambit/lanes/lanes",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.lanes",
8
8
  "name": "lanes",
9
- "version": "1.0.563"
9
+ "version": "1.0.564"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -17,7 +17,6 @@
17
17
  "p-map-series": "2.1.0",
18
18
  "p-map": "4.0.0",
19
19
  "group-array": "1.0.0",
20
- "@teambit/lanes.ui.models.lanes-model": "0.0.224",
21
20
  "@teambit/bit-error": "0.0.404",
22
21
  "@teambit/lane-id": "0.0.312",
23
22
  "@teambit/harmony": "0.4.7",
@@ -31,42 +30,43 @@
31
30
  "@teambit/lanes.ui.compare.lane-compare-page": "0.0.169",
32
31
  "@teambit/lanes.ui.compare.lane-compare": "0.0.202",
33
32
  "@teambit/lanes.ui.navigation.lane-switcher": "0.0.231",
34
- "@teambit/checkout": "1.0.562",
35
- "@teambit/cli": "0.0.1139",
36
- "@teambit/importer": "1.0.562",
33
+ "@teambit/lanes.ui.models.lanes-model": "0.0.225",
34
+ "@teambit/checkout": "1.0.563",
35
+ "@teambit/cli": "0.0.1140",
36
+ "@teambit/importer": "1.0.563",
37
37
  "@teambit/legacy.cli.prompts": "0.0.17",
38
38
  "@teambit/legacy.constants": "0.0.11",
39
- "@teambit/legacy.scope": "0.0.42",
40
- "@teambit/scope": "1.0.562",
41
- "@teambit/workspace": "1.0.562",
42
- "@teambit/express": "0.0.1238",
43
- "@teambit/logger": "0.0.1232",
44
- "@teambit/graphql": "1.0.562",
45
- "@teambit/component-compare": "1.0.562",
46
- "@teambit/component-writer": "1.0.562",
47
- "@teambit/component.snap-distance": "0.0.43",
48
- "@teambit/component": "1.0.562",
49
- "@teambit/export": "1.0.562",
39
+ "@teambit/legacy.scope": "0.0.43",
40
+ "@teambit/scope": "1.0.563",
41
+ "@teambit/workspace": "1.0.563",
42
+ "@teambit/express": "0.0.1239",
43
+ "@teambit/logger": "0.0.1233",
44
+ "@teambit/graphql": "1.0.563",
45
+ "@teambit/component-compare": "1.0.563",
46
+ "@teambit/component-writer": "1.0.563",
47
+ "@teambit/component.snap-distance": "0.0.44",
48
+ "@teambit/component": "1.0.563",
49
+ "@teambit/export": "1.0.563",
50
50
  "@teambit/harmony.modules.concurrency": "0.0.12",
51
- "@teambit/install": "1.0.562",
51
+ "@teambit/install": "1.0.563",
52
52
  "@teambit/lanes.entities.lane-diff": "0.0.174",
53
- "@teambit/lanes.modules.create-lane": "0.0.76",
54
- "@teambit/lanes.modules.diff": "0.0.540",
55
- "@teambit/legacy.component-diff": "0.0.96",
56
- "@teambit/legacy.component-list": "0.0.96",
57
- "@teambit/merging": "1.0.562",
58
- "@teambit/objects": "0.0.69",
59
- "@teambit/remove": "1.0.562",
60
- "@teambit/scope.remotes": "0.0.42",
61
- "@teambit/command-bar": "1.0.562",
62
- "@teambit/lanes.hooks.use-lanes": "0.0.283",
63
- "@teambit/lanes.hooks.use-viewed-lane-from-url": "0.0.236",
64
- "@teambit/lanes.ui.lane-overview": "0.0.267",
65
- "@teambit/lanes.ui.menus.use-lanes-menu": "0.0.228",
53
+ "@teambit/lanes.modules.create-lane": "0.0.77",
54
+ "@teambit/lanes.modules.diff": "0.0.541",
55
+ "@teambit/legacy.component-diff": "0.0.97",
56
+ "@teambit/legacy.component-list": "0.0.97",
57
+ "@teambit/merging": "1.0.563",
58
+ "@teambit/objects": "0.0.70",
59
+ "@teambit/remove": "1.0.563",
60
+ "@teambit/scope.remotes": "0.0.43",
61
+ "@teambit/command-bar": "1.0.563",
62
+ "@teambit/lanes.hooks.use-lanes": "0.0.284",
63
+ "@teambit/lanes.hooks.use-viewed-lane-from-url": "0.0.237",
64
+ "@teambit/lanes.ui.lane-overview": "0.0.268",
65
+ "@teambit/lanes.ui.menus.use-lanes-menu": "0.0.229",
66
66
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.516",
67
- "@teambit/ui": "1.0.562",
68
- "@teambit/legacy.consumer": "0.0.42",
69
- "@teambit/scope.network": "0.0.42"
67
+ "@teambit/ui": "1.0.563",
68
+ "@teambit/legacy.consumer": "0.0.43",
69
+ "@teambit/scope.network": "0.0.43"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@types/lodash": "4.14.165",
@@ -74,11 +74,11 @@
74
74
  "fs-extra": "10.0.0",
75
75
  "@types/mocha": "9.1.0",
76
76
  "@teambit/harmony.envs.core-aspect-env": "0.0.69",
77
- "@teambit/component.testing.mock-components": "0.0.302",
78
- "@teambit/harmony.testing.load-aspect": "0.0.297",
79
- "@teambit/merge-lanes": "1.0.563",
80
- "@teambit/snapping": "1.0.562",
81
- "@teambit/workspace.testing.mock-workspace": "0.0.71"
77
+ "@teambit/component.testing.mock-components": "0.0.303",
78
+ "@teambit/harmony.testing.load-aspect": "0.0.298",
79
+ "@teambit/merge-lanes": "1.0.564",
80
+ "@teambit/snapping": "1.0.563",
81
+ "@teambit/workspace.testing.mock-workspace": "0.0.72"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "react": "^17.0.0 || ^18.0.0",